我在邮件中不断收到以下内容。
The Cherokee 'panic action' script, /usr/bin/cherokee-panic,
was called for pid <number> ().
This means there was a problem with the program, such as a segfault.
However, the executable could not be found for process <number>.
It may have died unexpectedly, or you may not have permission to
debug the process.
我认为这与 php 有关,因为我得到了几个 php-cgi 僵尸进程。我的设置是:
PHP_FCGI_MAX_REQUESTS 255
PHP_FCGI_CHILDREN 8
我查看了所有日志,没有警告,甚至没有通知。有什么想法吗?
答案1
您可能想尝试“跟踪” Cherokee。您需要确保已启用跟踪(cherokee -i
以便找出答案)。如果您未启用跟踪,则需要从源代码重新编译 Cherokee(使用选项--enable-trace
)。
在启用 cherokee 跟踪后,您可以终止所有 cherokee/cherokee 工作进程,然后运行:
sudo CHEROKEE_TRACE="all" cherokee-worker
这将给你大量的消息,但如果你只是让它继续运行直到它崩溃(它应该关闭并将你转回 shell),那么你可以查看日志并看看出了什么问题。