【发布时间】:2014-10-01 15:16:20
【问题描述】:
在 linux apache 服务器上(ubuntu 14.04 lts,apache 2.4.7 with mpm_prefork 和 mod_php)我有 PHP 脚本需要很长时间。这些都被 apache 杀死了。
我们调整了 php 设置 (max_execution_time, set_time_limit...)
我们在日志中没有任何痕迹(syslog、apache 访问/错误日志)
我们已经用 strace 追踪了 apache 进程:
2172 is the script process
1939 is the apache main process
....
2172 14:53:01 +++ killed by SIGKILL +++
1939 14:53:01 --- SIGCHLD {si_signo=SIGCHLD, si_code=CLD_KILLED, si_pid=2172, si_status=SIGKILL, si_utime=3067, si_stime=38} ---
【问题讨论】:
-
我建议长时间运行的 php 脚本应该在后台运行(而不是在网络服务器中),并且应该在数据库中“留下线索”以了解进度的“状态”。这可以在网络浏览器中以“用户友好”的方式报告。
标签: php apache ubuntu-14.04 sigkill mod-php