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ではうまいこといなかったので注意する。
関連記事
-
-
MySQLでのバッククオート
phpmyadminを使っていると``←みたいな括りを見るけど これなんなん? ...
-
-
CodeIgniter4&Bootstrap&jQueryで簡易版お問い合わせページの作成
CodeIgniter4.4.4&Bootstrap&jQuer ...
-
-
時間と数字のフォーマット
教わったのでメモ。 ・時間の整形 strtotime() 例) $ymd = ' ...
-
-
DTIのVPS(PHP5系環境)にCakePHPを導入する方法
他社さんと連携して仕事をする際に「フレームワーク何か使いますか?」と聞かれて「使 ...
-
-
PHPにてhosts設定を行った上で他サイト・サーバにアクセスする方法
開発中の案件だとhosts設定を行ってサーバにアクセスする、ということがある。作 ...