首页 > 解决方案 > PHP脚本在达到某些输出限制后死亡

问题描述

我正在运行一个 Wordpress 网站,其后台进程以 admin 启动POST。一切正常,直到由于某些原因该过程开始出现奇怪的行为:

  1. php-fpm 不再登录到我通常的/var/log/php-fpm/www-error.log. 记录某些内容的唯一方法是将工作人员输出到主 php-fpm error.log
  2. 进程终止,没有任何错误、异常或消息。它只是停止记录并且不会完成。
  3. 注释掉error_log指令会增加寿命,把它们放回去会减少它。这就像有某种输出限制。
  4. 这是非常一致的:死亡点是可以预测的。该过程是一个数组的批处理,对于每个error_log指令配置,最后记录的项目总是相同的。

我试图最大化我能想到的所有可能的相关限制:

php_admin_value[post_max_size] = 64M
php_admin_value[output_buffering] = off
php_admin_value[upload_max_filesize] = 64M
php_admin_value[max_input_vars] = 30000
php_admin_value[max_execution_time] = 30000
php_admin_value[memory_limit] = 512M
php_admin_value[error_log] = /var/log/php-fpm/www-error.log

加上wp-config.php

set_time_limit(0);
define( 'WP_DEBUG', true );
ini_set("error_reporting", "E_ALL");
ini_set("log_errors", "on");

没有任何变化(即使phpinfo()显示正确的值)。

我的 php-fpm 被附身了吗?什么变量可以确定输出 x 字节的静默终止?

内存、交换和磁盘空间都可以。

标签: phpwordpress

解决方案


推荐阅读