草庐IT

灰度发布Nginx

全部标签

php - Socket.io 无法在 nginx + node.js + php 应用程序中连接

我正在尝试将nginx与PHP应用程序和node.js一起运行(这部分工作正常)。此外,我想将socket.io添加到此设置中,但不幸的是我无法在客户端和服务器之间建立连接(看起来连接超时?)。server.jsvarapp=require("http"),redis=require("redis"),io=require('socket.io')(app);io.sockets.on('connection',function(client){console.log("Newclient!");io.sockets.emit('msg',{msg:'Foobar'});});app.

php - 在 laravel 测试中进行多次发布调用时发布主体被忽略

我在使用laravel组件在lumen5.2中编写我的phpunit测试时遇到了问题。如果我在单个测试中对我的API进行多次http调用,我为后续调用提供的正文将被忽略,而优先提供给测试中任何http调用的第一个正文。使用MakesHttpRequests中的任何可用方法(例如post()或put()或call())都会出现问题。该问题与讨论的问题相似但不完全相同here和here,但他们的解决方案不适用或无法解决我的问题。我将其提炼为以下行为:echo测试.phpjson('POST','/echo',['string'=>"first"]);$this->json('POST','

php - 通过 api 发布到 google plus

试图找到如何从PHP发布到googlepluswall但即使使用apiexplorer也得到403at得到了{"error":{"errors":[{"domain":"global","reason":"forbidden","message":"Forbidden"}],"code":403,"message":"Forbidden"}}我的PHP代码如下所示:$client=new\Google_Client();$client->setApplicationName("Speerit");$client->setClientId($appId);$client->setClie

nginx - 当用户中止请求时,如何让 PHP-FPM 进程终止? (Nginx)

我知道Nginx与PHP-FPM进程无关,但我更希望PHP-FPM进程在用户中止时终止,这样它就不会继续做不必要的事情或浪费资源。对于PHP-FPM/Nginx,无论用户是否中止,trigger_error都会发生:我如何为PHP-FPM执行用户中止操作?(如果可能的话) 最佳答案 这不是由php-fpm实现的,更多信息here.设置ignore_user_abort(FALSE)仅在PHP通过套接字发送数据时有效,而不是在它忙于计算响应时有效。理想情况下,它应该在php-fpm中实现,但我认为这不会很容易,因为PHP大多是单线程的

php - 在发布的 php web 系统中,哪些类型的错误应该停止系统?

开发phpweb系统时,设置E_ALL|E_STRICT到error_reporting并处理包括通知错误在内的所有类型的错误是一种很好的做法。但是在发布的系统中,通知错误时是否应该停止系统?或者我应该仅在发生E_ERROR时停止系统并忽略所有其他错误,例如E_WARNING、E_NOTICE或E_STRICT?我应该在自定义错误处理程序中处理哪些类型的错误并停止(退出)系统? 最佳答案 当您开发代码时,您应该注意任何警告,包括通知。对于生产环境,您不应该真的因为错误而停止。相反,您可以使用set_error_handler()管理

php - 使用node.js替换apache/nginx并执行php security

我有一个用node.js编写的网络服务器,它几乎只为用户提供静态文件。要向其添加PHP支持,我想我可以只下载PHP并将文件提供给PHP.exe。如果它供单个用户使用,那是可行的并且就足够了。对于多个用户将其网站托管在服务器上的环境,它会带来巨大的安全问题。可以使用PHP脚本对任何其他网站甚至整个服务器执行他/她想要的任何操作。哦,我有没有提到它是一个Windows服务器?无论如何,我想要的是获得一些权限以将php脚本保存在特定目录中。我正在考虑为每个网站创建一个用户,我将在该网站上应用适当的权限,而不是在使用“运行方式”之类的东西执行php.exe时(假设它是可能的)。我还有其他方法可

php - 通过 CURL 发布到 Facebook 页面

我已经设置了一个脚本来通过PHP将新闻发布到我的facebook页面过去2年一直有效现在,它在没有通知的情况下停止工作。我正确地得到了access_token但第二部分返回了这个错误{"error":{"message":"Anunknownerrorhasoccurred.","type":"OAuthException","code":1}}这是代码$url="https://graph.facebook.com/oauth/access_token";$postString="client_id=KEY&client_secret=SECRET&type=client_cred"

drupal - 如何为挂起的站点调试 nginx/php-fpm?

我需要一些关于如何调试挂起的新服务器配置的提示。这个站点本身就是一个非常大的Drupal实例。在APC功能下,每页加载45+MB的PHP内存很大。该网站本身确实在另一台服务器上运行nginx/php-fpm/apc。我正在设置的新服务器具有自定义PHP5.3版本。nginx配置为监听80端口,将fastcgi请求传递给127.0.0.1:9000。这行得通。在Drupal根目录中,我有一个带有phpinfo()的纯PHP文件;在里面。我可以直接加载此PHP文件并确认PHP构建看起来不错。没有nginx错误,但是php-fpm错误日志会在页面挂起时显示:[2012年12月22日17:41

php - 自动发布在用户墙上(Facebook App)

我想让我的应用程序代表用户在墙上发帖(例如用于广告)。我考虑创建一个php脚本,我将每周在我的服务器上执行一个cron作业。我的数据库中有用户标识。现在我希望脚本获得一个用户标识,然后张贴在用户的墙上。(当然,如果用户仍然安装了应用程序并授予发布流权限)是否可以创建一个脚本来触发它?$post=$facebook->api("/$user1/feed","POST",$params);或者$post=$facebook->api("/$user2/feed","POST",$params);ETC...?多谢指教$app_id,'secret'=>$app_secret,));//Ge

php - 使用 Guzzle 将文件发布到 Web 服务

我已经尝试了几个小时来发出发送文件的POST请求。首先尝试了一个带有流上下文的简单file_get_contents(),似乎不起作用。当不同URL上的GET有效时,我从未收到回复。我在网上搜索HTTP客户端,发现Guzzle在Packagist上被下载了40万次;我决定尝试这项技术。有据可查,但是,唉,在发布该死的文件时也会出错。$request=$client->post('/files/')->addPostFields(array('comments'=>'novalue'))->addPostFile('file','test.doc')->setAuth($this->us