#!/usr/bin/php -q -n -d error_reporting=-1
ためphp.ini
ロングバージョン
Here areあなたが使用できるコマンドラインオプション。
-q
は必須ではありませんが、CGIコンテキストでPHPが実行していると思われる奇妙な理由がある場合は、HTTPヘッダーの出力を抑制します。
残りは、のオプションがあります。ここでは、エラーレベル(およびその他の設定値)を都合のよいものに設定できる、使用するファイルの場所をphp.ini
に指定できます。あなたはphp.ini
にあなたのスクリプトをポテンシャル的に供給して、PHPが起動したときに起動されるようにすることができます。特に、デフォルトのマシンphp.ini
を完全に制御できないマシンでスクリプトを実行する必要がある場合、設定。
何らかの理由でphp.ini
をスクリプトに渡すことはできませんが、依然として不明な(おそらく不明な)php.ini
の設定を上書きする場合は、-d foo[=bar]
の設定値を設定できます。たとえば、-d error_reporting=-1
は、エラー報告をE_ALL
に設定します。この設定を-n
とすると、パス上のphp.ini
が単に破棄されます。 -n
には基本的にすべての設定が削除されるため、いくつかの副作用があるかもしれないことに注意してください。既定値はあなたが思うほど賢明ではないかもしれません。例えば
:
#!/usr/bin/php
<?php
echo ini_get('error_reporting');
echo $unknown;
あなたの場所でPHPインタプリタ場合
X-Powered-By: PHP/7.0.1
Content-type: text/html
0
を返すかもしれませんが、代わりにCLI 1のCGI一つであり、デフォルトphp.ini
がerror_reporting
がオフになっています。これはおそらくあなたが望むものではありません。一方
あなたが
#!/usr/bin/php -q -n -d error_reporting=-1
<?php
echo ini_get('error_reporting');
echo $unknown;
にしようとした場合、このスクリプトは、あなたのphp.ini
が異なって設定されている場合でも
-1
Notice: Undefined variable: unknown in <filename> on line 4
を返します(それは単にとにかく破棄されるように)、およびあなたはCGIバージョンを使用しています。
はまた、スクリプトの起動時にのみ正しくphp.ini
に設定することができますoutput_handler
のようないくつかの例外が、ありますが、あなたは、通常は、適切な変数を設定するini_set
を使用できることに注意してください。 -n
を使用すると、非標準のiniファイルの潜在的な問題を取り除くことができます。
はまた、あなたは通常、スクリプトで終わる?>
を追加する必要はありません、それは時にはすでに終了?>
IIRCのエラー報告の後に目に見えない追加の空白文字でなければならない原因と奇妙なエラーであっ助けることができる持っていません'-1/E_ALL'でcliにいてください。そうでない場合は、 'php.ini'で変更するか、スクリプトの中で' error_reporting(-1); 'を使うだけです。 –
バイナリラインではありませんが、PHPのオープニングラインには、関数/メソッドの引数の型ジャグリングを防ぐために、 '<?php declare(strict_types = 1);'が必要です。 – PeeHaa
脇に: '/ usr/bin/perl -w'は、_all_モジュール内の警告を可能にするため、モジュールがオフになることを期待する可能性があるため、適切な方法とは考えられません。 – duskwuff