勉強したことのメモ

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で画像を上下反転させ保存する
PHPで画像を上下反転させ保存する

やりたかった事は、下記の通り。 ・既にフォルダに保存されている画像を上下反転させ ...

PHPにて西暦から干支(十二支)を計算し表示する方法
PHPにて西暦から干支(十二支)を計算し表示する方法

先日MySQLにてSELECT時にdate型のカラムから干支(十二支)を計算し表 ...

PHPで引数の先頭に&(アンパサンド)をつける参照渡し(リファレンス渡し)について
PHPで引数の先頭に&(アンパサンド)をつける参照渡し(リファレンス渡し)について

他社が作成されたPHPのソースコードを拝見していると関数の引数の頭に&( ...

PukiWikiでバックアップを週一等スケジュール化して実行する方法
PukiWikiでバックアップを週一等スケジュール化して実行する方法

PukiWikiでバックアップを取りたかった。調べたらディレクトリごと保存すれば ...

CSVファイルを使って郵便番号から住所を抽出する
CSVファイルを使って郵便番号から住所を抽出する

■ソース <? error_reporting(E_ALL & ~ ...