Recentemente, compilei um binário do PHP 5.2.9 e tentei executar alguns scripts PHP com ele. Posso executar alguns scripts sem problemas, mas um deles interrompe sua execução no meio do caminho, saindo sem erros ou avisos. O código de status retornado do processo é 255.
Eu li no manual que esse status é 'reservado'. A questão é: para quê?
Acredito que tenha algo a ver com dependências ausentes no executável do PHP, mas não tenho certeza.
Alguém sabe o que significa um código de saída 255?
PS Não há erros nos scripts PHP, eles funcionam OK em outras máquinas.
php.ini
de arquivo (ou seja, o arquivo tem caracteres quebrada por dentro). Levei duas horas para descobrir isso. Dica: Se o seu script (ou sejacomposer.phar
) funcionarphp -n composer.phar
, seuphp.ini
arquivo provavelmente está quebrado.Também pode significar que
/etc/php5/cli/php.ini
(no Debian / Ubuntu) ou/etc/php.ini
(no RHEL / CentOS / etc.) Possui, odisplay_errors = Off
que significa que quaisquer erros ou avisos dos scripts da linha de comando não vão a lugar nenhum, a menos quelog_errors = On
(veja também aerror_log
configuração).Tente executar seus scripts com um script wrapper que usa
php -d display_errors=on ...
fonte
-d display_errors=on
dica - eu estava tentando depurar um script personalizado para o aplicativo PHP de alguém que tenta lidar com todo o registro de exceções por conta própria, mas muitas vezes come exceções. Usando esse sinalizador, posso obter a exceção para imprimir na CLI!Isso pode ser causado por mensagens de erro suprimidas pelo PHP (a linha começa com @). Eu encontrei a linha por
e depois comentou o @. Depois disso, recebi o erro real e consegui corrigi-lo facilmente. Também notei depois que o PHPStorm já havia descoberto o mesmo erro, mas não o havia corrigido / percebido.
fonte
Isso também pode significar que
/etc/php5/cli/php.ini (no Debian / Ubuntu)
/etc/php.ini (no RHEL / CentOS / etc.)
determinou
o que significa que quaisquer erros ou avisos dos scripts da linha de comando não vão a lugar algum, a menos que
Veja também a configuração error_log.
Tente executar seus scripts com um wrapper
fonte
No meu caso, foi a morte do xDebug por causa do baixo
xdebug.max_nesting_level
valor.fonte