勉強したことのメモ

Webエンジニア / プログラマが勉強したことのメモ。

PHPでeval実行時に「eval()'d code on line」エラー

   2024/01/26  PHP

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

  関連記事

PHPでXML形式データをオブジェクト・JSON・連想配列に変換する方法

先日バニラJavaScriptでXML形式データの取り扱いとJSON形式への変換 ...

PHPで指定月の月末日を取得

今月の、だったらdate('t')でいくけど指定月の場合は どうしたらいいのか分 ...

PHPで画像を比較して類似度を算出する「image-comparator」ライブラリの利用方法

PHPで画像の類似度を計測したい。ただ、そのためのロジックが全く分からないためラ ...

PHPにて三項演算子をより簡単に書けるNull合体演算子について

PHPにて〇〇という変数もしくは配列に値があれば××という変数にその値を格納、無 ...

GoogleアナリティクスのデータをPHPで取得する方法

Googleアナリティクスの特定データをPHPで取得して、当該データを表示なりC ...