原因可能是我的磁盘空间不足,导致一切工作异常。无论如何我都会留下这个问题,以防其他人有类似的问题。
我有一些 PHP 脚本已经挂了很长时间,但显然它们并没有真正使用太多 CPU 时间,因为它们不会被杀死。他们仍然使 lighttpd 无法生成更多 PHP 进程,因为它们的最大数量已经生成。
我知道 set_time_limit 可以用作函数或放入 php.ini 以控制脚本可以运行的最大 CPU 时间。我想要的是限制我的网络服务器(lighttpd)运行的所有 PHP 脚本,而不是 CPU 时间,而是时钟时间。
万一这很重要,这是我的 lighttpd 配置文件中的 PHP 部分。
fastcgi.server = (".php" => ((
"bin-path" => "/opt/local/bin/php5-cgi",
"socket" => "/tmp/php.socket" + var.PID,
"min-procs" => 16,
"max-procs" => 16,
"idle-timeout" => 15,
)))
这是我来自 lighttpd 的服务器状态。您可以看到 PHP 运行的时间比我预想的要长得多,并导致服务器阻塞。奇怪的是,PHP procs 似乎也比我的 max-procs 多。
legend
. = connect, C = close, E = hard error
r = read, R = read-POST, W = write, h = handle-request
q = request-start, Q = request-end
s = response-start, S = response-end
388 connections
hhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhh
hhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhh
hhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhh
hhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhh
hhhrhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhh
hhhhhhhhhhhhhrhhhhhhhhhhhhhhhhhhhhhhhhrhhhhhhhhhhh
hhhhrhhhhhhhhhhrhrhhhrrhrhhhhhrhhhrhhhhhhrhhhrrrhr
rrhrrrhrhhhhrrhrrhhrrhrrhrrrrrrrrrrrrh
Connections
Client IP: Read: Written: State: Time: Host: URI: File:
204.16.33.51 0/0 0/0 handle-req 1361 ... (a PHP script)
204.16.33.46 0/0 0/0 handle-req 1420 ... (another PHP script)
... gazillion lines removed ...
任何可以帮助我设置我不必经常照看的配置的想法将不胜感激!