Edited at

php の exit における終了ステータスは何番を返すといいのか

More than 3 years have passed since last update.


結論


  • 正常は0

  • エラーは1~254

  • 255はPHP予約が予約してるから使わない

にしておくまぁ、0は、書かないで普通に exit;ってかくでしょ。

フレームワークつかってたらあんまりexit;って直接かくことないだろうけど


詳細

詳細はPHPマニュアルにかいてある

http://www.php.net/exit

status が integer の場合は その値が終了ステータスとして使われ、表示はされません。終了ステータスは 0 から 254 までの値でなければなりません。

終了ステータス 255 は PHP に予約されており、使用してはいけません。ステータス 0 は、 プログラムを正常終了させる際に使用します。


終了ステータス 255 は PHP に予約されており、使用してはいけません。


ほほう。


test.php

<?php

exit(255);


255を指定すると127に変換される。なんでや工藤。

~#  php test.php

~# echo $?
127

ちなみに255はパースエラーとかExceptionをキャッチしないとかで発生する

~# php test.php

PHP Parse error: xxx
~# echo $?
255

~# php test.php 

PHP Fatal error: Uncaught exception 'Exception' in /Users/cocoiti/test.php:2
Stack trace:
#0 {main}
thrown in /Users/cocoiti/test.php on line 2

Fatal error: Uncaught exception 'Exception' in /Users/cocoiti/test.php:2
Stack trace:
#0 {main}
thrown in /Users/cocoiti/test.php on line 2
~# echo $?
255

3へぇ