勉強したことのメモ

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のdefine()で配列データの定義と利用方法について

他社が作成したPHPのソースコードを拝見した際に定数で配列が定義されていた。配列 ...

PHP-FPMのプロセス設定を行いサーバのメモリ消費を抑える方法

CentOS7からAlmaLlinux8に移行してから微妙にサーバのレスポンスが ...

PHPとPAY.JPを用いてサイト内にクレカ決済及びキャンセル機能を実装する方法

先日PHPとStripeを用いてサイト内にクレカ決済及びキャンセル機能を実装する ...

PHPで外部ファイルから配列を取得

やりたかった事。 ①管理画面で必要項目を入力すると、aaa.phpが 生成される ...

PHPのsetcookieで「Cannot modify」エラーの対応方法

PHPでsetcookieを使うと「Warning: Cannot modify ...