勉強したことのメモ

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の構文チェック

JSONLINTみたいにオンラインで構文チェックを できるサイト様があったのでメ ...

PHPで指定時間内に指定回数以上のアクセスがあった場合に429エラーを表示させる方法
PHPで指定時間内に指定回数以上のアクセスがあった場合に429エラーを表示させる方法

ログインフォームやお問い合わせページに対して短期間に多数のアクセスがあり、それを ...

ブラウザから動画ファイル名を確認できないようにPHPで動画を出力する方法
ブラウザから動画ファイル名を確認できないようにPHPで動画を出力する方法

Webページ上で動画ファイルを再生したい場合、通常だとブラウザのソースコード上に ...

Stripe Checkoutにてクレジットカード決済の際に3Dセキュア対応にする方法
Stripe Checkoutにてクレジットカード決済の際に3Dセキュア対応にする方法

先日Stripe Checkoutを用いたクレジットカード決済機能についてメモし ...

PHPでメール送信時に返信先(Reply-To)を指定する方法
PHPでメール送信時に返信先(Reply-To)を指定する方法

PHPにてメールを送信し、そのメールに対して返信しようとすると通常は送信元のメー ...