PHPでeval実行時に「eval()'d code on line」エラー
2024/01/26
PHPでeval実行時に「eval()'d code on line 〇〇」というエラーが発生した。他所のシステムでPHP形式の配列を書いて、それをfile_get_contentsで持ってきてevalで実行してたんだけどどうも中で構文エラーが発生しているっぽい。また他所のシステム内では毎回データが変わるので、エラーが発生する場合としない場合があり。
何とかして発生時だけfile_get_contentsの中身をエラーログに吐き出したいと悩んだ結果、よく考えるとwarningエラーなのでプログラムは止まらないため普通に書いたらよかった。
$file = file_get_contents("./aaa.html");
eval($file); //$fileの中では$aaaという配列を定義してたとする
if (!$aaa) { //evalでエラーが発生していた場合、$aaaは定義されないのでfalseになる
//エラー処理
}
try~catchではうまいこといなかったので注意する。
関連記事
-
-
複数(PHP / metaタグ / htaccess)の方法で301リダイレクト
サイトのディレクトリやファイル名を大幅に変えるという案件があった。それ自体は問題 ...
-
-
CodeIgniter4で簡易版ログインシステムの実装方法(管理画面向け)
CodeIgniter4で管理画面向けの簡易版ログインシステムを作成したい。通常 ...
-
-
PHPでメール送信時に返信先(Reply-To)を指定する方法
PHPにてメールを送信し、そのメールに対して返信しようとすると通常は送信元のメー ...
-
-
GoogleアナリティクスのデータをPHPで取得する方法
Googleアナリティクスの特定データをPHPで取得して、当該データを表示なりC ...
-
-
PHPのエラーメッセージ及びvar_dumpを見やすく表示するライブラリ「Tracy」の利用方法
ここのところPHPでの開発時にvar_dumpをツールバー表示する「Kint」及 ...