草庐IT

php - 用 Nginx 和 PHP 重写 fastcgi 仍然发送旧的 request_uri 到后端(php 和 symfony)

我正在尝试通过fastcgi将运行symfony框架的php网站迁移到nginx和php。使用http://wiki.nginx.org/中的Symfonyhowto一切正常但我遇到了自定义重写规则的问题。我的目标是将形式为/aaaa的url重写为/view/shorthand/aaaa。然后请求应该由php和symfony处理。旧的apache重写规则:RewriteRule^([0-9a-f]+)$index.php/view/shorthand/$1[L]我试过的Nginx规则:rewrite^/([0-9a-f]+)$/view/shorthand/$1break;rewrit

php - 使用 mail() 导致 Nginx 中的 504 网关超时

我刚刚在debian6上安装了php、mysql、nginx、sendmail。现在PHP页面可以正常工作了。但是当我尝试使用一个简单的mail()测试时:示例:mail($to,$sub,$msg)它需要很长时间才能完成(大约30多秒),然后在我的浏览器中显示504GatewayTime-out。有趣的是电子邮件实际上已发送。顺便说一句,这是日志中的错误:从上游读取响应头时上游超时(110:连接超时)有人知道导致此错误的原因吗? 最佳答案 我认为问题在你的sendmail。我建议安装Postfix而不是sendmail并在php.

nginx - php5-fpm + nginx + Google bot = 由对等方重置连接

所以我花了一个疯狂的时间来弄清楚为什么在过去的几个小时里,我的日志每分钟都会出现几次缓慢的PHP脚本警告。我最初专注于PHP慢速日志和PHP错误日志,吓坏了以为这是我的代码。碰巧我正在实现一些DNS调整,这就是为什么我被误导了。我最终检查了nginx错误日志,它显示一行又一行的连接被来自几乎相同IP的对等方重置。我用谷歌搜索了IP,发现它属于Google,所以这显然是访问该网站的Google机器人/蜘蛛程序。这是错误日志的片段2013/06/0614:04:05[error]12313#0:*7435269recv()failed(104:Connectionresetbypeer)w

php - Zend Opcache 不缓存所有文件(CentOS 6.7 + Nginx 1.8.1 + PHP 7 + Laravel 5.1)

因此,我们有一个基于Laravel5.1的项目,我们希望尽快发布,但我们注意到性能不佳,我们正在尝试优化服务器设置。如标题中所列,我们将其部署在CentOS6.7服务器上,使用Nginx1.8.1和PHP7以及PHP-FPM。由于CentOS6.7的存储库不提供PHP7,我们正在使用IUS的替换包。我们注意到可能导致性能不佳的一件事是,尽管ZendOpcache已启用并正常工作(我们的命中率很高),但似乎并未缓存我们项目中的所有文件。我们使用opcache-gui来帮助可视化缓存的内容,虽然有许多项目文件(包括来自第三方库的文件),但大部分都丢失了,包括我们的主Controller和许

php nginx 服务器从 http 请求中得到奇怪的 header 和发布数据

我们的应用服务器收到一些奇怪的请求,HTTPheader如下:"Content-Type":"application/x-www-form-urlencoded","Content-Length":"3177","Host":"xxxxxxxxx","Accept":"*/*","Accept-Encoding":"gzip","Msisdn":"12345678",并且使用file_get_contents('php://input')读取的http帖子正文开头为:ISDN:12345678\r\n\r\nMsisdn实体header和ISDN:12345678\r\n\r\n未由应

php - Codeigniter 的 nginx 重写规则无法正常工作

我第一次尝试在MAMP中使用nginx服务器而不是Codeigniter的apache服务器。我将我的apachehtaccess重写规则转换为nginx重写规则。但它显示的是我文件中的index.php文件代码,而不是我的网站。这是我的apachehtaccess规则,DirectoryIndexindex.phpRewriteEngineonRewriteCond$1!^(index\.php|images|css|js|robots\.txt|favicon\.ico)RewriteCond%{REQUEST_FILENAME}!-fRewriteCond%{REQUEST_FI

nginx - Xdebug 设置 cookie XDEBUG_SESSION 次数太多

我使用PhpStorm、xdebug和nginx+php-fpm进行远程调试。当我在请求GET参数中传递XDEBUG_SESSION_START=my_ide_key时,Nginx返回502错误代码(BadGateway)。同时,我在IDE中的代码断点工作正常。当我不传递XDEBUG_SESSION_START参数时,nginx会以格式良好的HTML和代码200进行响应。但是很明显,没有此参数就无法进行调试。在nginx错误日志中,我看到关于从上游收到的大header的通知。我尝试转储php-fpm和nginx之间的通信,只是一个不同的东西是一个Set-Cookieheader:Set

php - session /身份验证如何与 nginx/NHPM/PHP-FPM 一起工作?

所以,我正在考虑使用nginx和nginx-http-push-module以及PHP-FPM来构建一个应用程序,经过大量有趣的配置之后,我让它能够正常处理PHP页面.不过,我不明白session应该如何工作——我看到的所有nginx+NHPM示例都通过发布者-订阅者系统运行,但不清楚如果订阅者会发生什么channel对于订阅者来说实际上是独一无二的。例如,考虑一个为每个用户提供公共(public)channel和私有(private)channel的聊天系统。现在,在传统的PHP设置中,您会将cookie传递给PHP,从那里查找session,并根据用户是否经过身份验证来处理页面的其

php - nginx/fastcgi 504 网关错误,增加 fastcgi_read_timeout 没有帮助

我需要较高的超时时间,以便我可以在我的源代码上使用调试器。它从nginx正确地传递给fastcgi,但总是在60秒后超时。我已经尽可能多地更改了超时参数,每次更改后都重新启动了nginx和fast-cgi,但没有任何效果。我看到大多数用户将此类问题指向HowdoIpreventaGatewayTimeoutwithFastCGIonNginx.但该解决方案对我不起作用。我增加的参数是:fastcgi_read_timeout(上面的线程说这解决了问题那个用户)client_header_timeoutclient_body_timeout发送超时 最佳答案

php - Nginx - 在 stderr : "PHP message: PHP Notice: Undefined variable 中发送的 FastCGI

我已经安装了Ngnix服务器并配置如下:server{listen80default_server;listen[::]:80default_serveripv6only=on;root/usr/share/nginx/html;indexindex.phpindex.htmlindex.htm;#Makesiteaccessiblefromhttp://localhost/server_namelocalhost;location/{#Firstattempttoserverequestasfile,then#asdirectory,thenfallbacktodisplayinga