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でユーザID毎にディレクトリを作成しキャッシュファイルを格納する方法
PHPで作ったプログラム内にてユーザーID毎に特定のディレクトリを作成し、その中 ...
-
-
PHPでファイル書き込み時に「failed to open stream: HTTP~~」エラー
PHPでファイルを書き込む際に「failed to open stream: H ...
-
-
phpdotenvライブラリを使用してPHPで.envファイルを読み込ませる方法
CodeIgniterを勉強していた際に各種設定は「.env」というファイルに記 ...
-
-
PHPにてサイトにPayPay決済システム及び決済キャンセル機能を実装する方法
ここのところクレジットカード決済関連のメモを書いているが、他の決済方法についても ...
-
-
formにGoogle reCAPTCHA v3を組み込み、PHPでスコア判定する方法
だいぶ前にGoogle reCAPTCHA v2をformに組み込むという記事を ...