我有一个PHP CLI脚本(http://codepad.org/w6iyLLdv),它固执地返回退出代码11,尽管exit(0)
并且没有任何明显的问题。
Advanced Bash-Scripting Guide: Appendix E. Exit Codes With Special Meanings没有列出关于11的任何特别内容,而Google一般都没有发现它,也没有特别与PHP有关 - 除了可能Are there any standard exit status codes in Linux?。
当然我可以在我的调用代码中检查0 或 11的退出状态,但这很脏。
答案 0 :(得分:1)
我终于考虑检查Apache的error.log,并且11状态伴随着:PHP警告:模块'imagick'已经在第0行的Unknown中加载
我在这里找到了解决方案:http://www.somacon.com/p520.php显然我不小心加了一个<< extension =“imagick.so”>> php.ini中的一行。删除它允许CLI脚本返回状态0。
注意:在我发布之后,我开始从想象中获得一个PHP-Warning,没有创建〜/ .gnome2目录的权限,以及11状态。因此,在应用此修复程序后看到0状态可能是一个侥幸。
答案 1 :(得分:0)
是退出时退出代码11,还是信号 11?如果是后者,则会发生SIGSEGV崩溃。
否则,看看你是否可以找出它正在退出的那一行。例如,在第10行之后插入exit(0);
,如果以0而不是11退出,则将出口(0)向下移动一点。这至少会给我们提供更多的东西。