Статус выхода 11: Что это значит? - PullRequest
0 голосов
/ 10 марта 2011

У меня есть сценарий PHP CLI (http://codepad.org/w6iyLLdv), который упорно возвращает код выхода 11, несмотря на то, exit(0) и отсутствие каких-либо видимых проблем.

Расширенное руководство по написанию сценариев Bash: Приложение E. Коды выхода со специальными значениями не перечисляет ничего особенного в 11, и Google не находит ничего общего с ним и не имеет никакого отношения к PHP - за исключением, возможно, какие-либо стандартные коды состояния выхода в Linux? .

Конечно, я могу проверить состояние выхода 0 или 11 в моем коде вызова, но это грязно.

Ответы [ 2 ]

1 голос
/ 14 марта 2011

Я наконец-то подумал проверить Apache error.log, и состояние 11 сопровождалось этим: Предупреждение PHP: Модуль 'imagick' уже загружен в Unknown в строке 0

Я нашел решение здесь: http://www.somacon.com/p520.php По-видимому, я случайно добавил дополнительную строку << extension = "imagick.so" >> в php.ini. Удаление его позволило сценарию CLI вернуть статус 0.

Примечание. После публикации я начал получать PHP-предупреждение от imagick об отсутствии разрешений на создание каталога ~ / .gnome2 и статуса 11. Так что видеть статус 0 после применения этого исправления может быть случайностью.

0 голосов
/ 10 марта 2011

Выход с кодом выхода 11 или сигнал 11?Если это последний, он падает с SIGSEGV.

В противном случае, посмотрите, сможете ли вы выяснить, по какой линии он выходит.Например, вставьте exit(0); после 10-й строки, и если она завершается с 0 вместо 11, сдвиньте выход (0) немного вниз.Это, по крайней мере, даст нам больше возможностей для работы.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...