Wordpress 应用程序赠送 500

Wordpress 应用程序赠送 500

我正在查看一个 Wordpress WooCommerce CSV 导出插件。它工作正常,但如果我要求它导出超过 2000 条记录,似乎会出现超时的情况,大约 31 秒后我会收到 500(不是 503,尽管响应主体看起来像是为 503 而制作的)。

我的 PHP 安装在 apache 上运行。以下是来自我的 apache conf 的一些内容:

Timeout 300

<VirtualHost *:80>
  ServerName example.com
  ...
  CustomLog /var/log/httpd/example.com-access.log
  ErrorLog /var/log/httpd/example.com-error.log
  LogLevel debug
</VirtualHost>

并从我的 php.ini 中选择行:

max_execution_time = 300
error_reporting = E_ALL
display_errors = On
log_errors = On
log_errors_max_len = 4096
ignore_repeated_errors = Off
error_log = /var/log/httpd/php_errors.log

我的.htaccess 中的最后一行:

php_value max_execution_time 300 # just in case
  • httpd.conf 中声明的访问日志(使用 CustomLog 指令)记录所有请求的 IP、请求 URL、响应代码和用户代理字符串,但不记录其他任何内容。
  • httpd.conf 中声明的错误日志只有如下几行:

[2015 年 5 月 7 日星期四 15:33:24] [调试] mod_headers.c(743): 标头:ap_headers_output_filter()

  • php.ini 中声明的错误日志是一个空文件,即使赋予它 chmod 666 或将其 chown 为 apache:apache

我不明白为什么它似乎超时了(从发生的时间判断),为什么如果超时它会给出 500 而不是 503,以及为什么如果它真的遇到了 500 错误日志中没有任何内容。

我做错了什么吗?我该怎么做才能诊断出来?

答案1

尝试增加memory_limit你的 php.ini,它可能没有足够的空间来存储导出内容,然后卡住并最终超时。

我的 Centos 7 服务器(php 5.4)上的条目如下所示:

; Maximum amount of memory a script may consume (128MB)
; http://php.net/memory-limit
memory_limit = 1024M

对于 Drupal,它设置为 1024M。

相关内容