アフィリエイト広告を利用しています

広告

posted by fanblog

php error をconsoleに出力

コマンドラインからphpを実行させた場合、デフォルト設定ではエラー発生した際、なにも出力されない
$ php a.php
$
という結果になります。

phpのソースをいじらずに、エラーになるかどうか確認したい場合はlintを使います
$ php -l a.php
Errors parsing a.php

正常時:
No syntax errors detected in a.php

残念ながら、エラーがあるよ、ないよというレベルでしか確認できません。

php.iniのdisplay_errorsを1にすることで標準出力、display_errors=2とすることで標準エラー出力に出力させることができます。

ただ、php.iniは本番環境でも参照されるものなので、単純な確認で変更したくありません。

php error consoleに簡単出力


phpコマンドには、-dオプションが存在します。

--define foo[=bar]
-d foo[=bar] Define INI entry foo with value bar

この-define/-dを使うことで、いまから実行するphpのみエラーレベルを指定&console出力させることが可能になります。

全部のエラーをconsoleに出力させるにはdisplay_errors=1とerror_reporting= 2147483647を指定します。
$ php -d display_errors=1 -d error_reporting=2147483647 a.php
Parse error: parse error, expecting `"variable (T_VARIABLE)"' or `"${ (T_DOLLAR_OPEN_CURLY_BRACES)"' or `"{$ (T_CURLY_OPEN)"' in a.php

これにより、ソースはいじらずに、動作確認で検証したいときのみ、consoleにエラーを表示できるようになります。

aliasを設定するとさらに便利になります


毎回毎回打ち込むのは、あまりにも面倒なので、例えばaliasをつかって定義すると簡単になります。
.cshrc/.bashrcなどに以下を追加
.shrc/.bashrc
alias phpconsole='php -d display_errors=1 -d error_reporting=2147483647'

.cshrc
alias phpconsole php -d display_errors=1 -d error_reporting=2147483647


$ phpconsole a.php
と打ち込むとaliasで展開され
$ php -d display_errors=1 -d error_reporting=2147483647 a.php
が実行されます。

 

  • 初期費用0円(2022年8月4日に撤廃)
  • 安定したサイト運営が可能(CPU/メモリ リソース保証 6コア/8GB〜)
  • 契約中は独自ドメインつき 独自ドメイン永久無料特典があります
  • 最大10日間無料で、サーバーのお試し利用ができます
  • ディスクキャッシュも高速 NVMe SSDを採用(300GB〜)
  • 大量アクセスでも安心 転送量は無制限

 

 

posted by scripts at 13:45 | Comment(0) | TrackBack(0) | php
この記事へのコメント
コメントを書く

お名前:

メールアドレス:


ホームページアドレス:

コメント:

※ブログオーナーが承認したコメントのみ表示されます。

この記事へのトラックバックURL
https://fanblogs.jp/tb/3537140
※ブログオーナーが承認したトラックバックのみ表示されます。

この記事へのトラックバック
最新記事
最新コメント
タグクラウド
カテゴリアーカイブ
×

この広告は30日以上新しい記事の更新がないブログに表示されております。