Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/wordpress/11.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php wordpress在安装主题/插件时报告504网关超时(nginx)_Php_Wordpress_Nginx_Ftp - Fatal编程技术网

Php wordpress在安装主题/插件时报告504网关超时(nginx)

Php wordpress在安装主题/插件时报告504网关超时(nginx),php,wordpress,nginx,ftp,Php,Wordpress,Nginx,Ftp,问题: 我在LNMP环境中使用wordpress。我的网站工作正常,但当安装主题/插件时,它不工作,并报告504错误 底线: Nginx和php(至少有时)通信良好,因为我可以看到 我的网站显示正常 FTP主机、用户名和密码都是正确的,因为在安装主题或插件时,(至少有一些)文件会下载到主题或插件文件夹中(但不是整个主题或插件) FTP用户和Nginx用户确实有权访问FTP用户拥有的文件夹。(FTP和Nginx用户在同一组中,文件夹设置为775) 我尝试了更大的fastcgi_read_超时值(例

问题: 我在LNMP环境中使用wordpress。我的网站工作正常,但当安装主题/插件时,它不工作,并报告504错误

底线:

  • Nginx和php(至少有时)通信良好,因为我可以看到 我的网站显示正常
  • FTP主机、用户名和密码都是正确的,因为在安装主题或插件时,(至少有一些)文件会下载到主题或插件文件夹中(但不是整个主题或插件)
  • FTP用户和Nginx用户确实有权访问FTP用户拥有的文件夹。(FTP和Nginx用户在同一组中,文件夹设置为775)
  • 我尝试了更大的fastcgi_read_超时值(例如300),但没有帮助
  • 详细信息 当我遇到问题时,我做了人们通常做的事情。我去谷歌把fastcgi_read_timeout设置为更大的值,因为我记得这在其他服务器上对我有用。然而,这只需要我等待5分钟,然后才能得到错误报告(300秒=5分钟)。我还尝试了更大的fastcgi_buffer_大小,但也不起作用。我认为这与安装主题或插件有关,因为网页本身显示良好,只有在安装时才会发生错误。当安装失败时,我会在插件文件夹中找到(不完整的插件)文件

    Nginx错误日志:

    (有许多条目与此相似。)

    有趣的是,wordpress将错误显示为:

    Installation failed: 504 Gateway Time-out 504 Gateway Time-out
    nginx/1.10.3 (Ubuntu) <!-- a padding to disable MSIE and Chrome
    friendly error page --> <!-- a padding to disable MSIE and Chrome
    friendly error page --> <!-- a padding to disable MSIE and Chrome
    friendly error page --> <!-- a padding to disable MSIE and Chrome
    friendly error page --> <!-- a padding to disable MSIE and Chrome
    friendly error page --> <!-- a padding to disable MSIE and Chrome
    friendly error page -->
    
    安装失败:504网关超时504网关超时
    nginx/1.10.3(Ubuntu)
    
    这一信息的一半当然不应该显示出来。也许这里出了什么问题

    php fpm的日志没有显示错误,wordpress在启用日志记录时也没有显示错误

    软件版本

    • nginx 1.10.3
    • mysql版本14.14发行版5.7.19
    • PHP 7.0.18-0ubuntu0.16.04.1
    • wordpress 4.8
    • Ubuntu 16.04.2 LTS

    有什么想法吗?

    此问题是由于在php.ini中将cgi.fix\u pathinfo设置为0引起的。其目的是降低安全风险,但可能会导致更多问题

    cgi.fix_pathinfo = 1
    
    基本上,将cgi.fix_pathinfo设置为1(保留默认值)解决了问题,有关正确和安全的nginx+php fpm配置,请参阅。
    我还考虑了如何解决这个问题。

    按照推荐的解决方案更改
    cgi.fix\u pathinfo
    对我的Ubuntu 16没有帮助。我注意到,即使出现错误,主题或插件仍然会被安装

    最终帮助我的是,按照标准将PHP超时增加到更高的值。你写的没有帮助,但是你提高了所有的价值吗


    在我将php.ini中的
    max\u execution\u time
    、php的www.conf中的
    request\u terminate\u timeout
    和vhost中的
    fastcgi\u read\u timeout
    提高到300之后,我再也不会收到警告了。

    php内存限制是如何设置的?我想确认一下,据我所知,你使用的是php7.0-fpm,对吗?@morre,这是对的。我正在使用php7.0-fpm。php内存限制在php.ini中设置为128M,我还添加了“define('WP_memory_limit','128MB');”最后是wp-config.php。
    cgi.fix_pathinfo = 1