GCPでエラーレポーティングを設定する際にprepend.phpがうまく読み込めずハマったので記事にしておきます。
php.iniに正しいパスを指定してもFailed opening required 'srv/vendor/google/cloud-error-reporting/src/prepend.php'
のようにファイル読み込みエラーが出てしまう場合には、参考になると思います。
App Engineのインスタンスでエラーが発生した場合にGCP Error Reportingにエラー内容を出力することができ、
その手順についてはPHP 用 Error Reporting の設定に以下の説明があります。
エラーの報告
次のコマンドを使用して、クラウド ライブラリをインストールします。$ composer require google/cloud-error-reporting
次の行を php.ini に追加します。ここで、WORKSPACE はワークスペースのルート ディレクトリの絶対パスです。
auto_prepend_file='/WORKSPACE/vendor/google/cloud-error-reporting/src/prepend.php'
とありますが、WORKSPACEを正しく設定しても以下のエラーが出るようになりました。
Warning: Unknown: failed to open stream: No such file or directory in Unknown on line 0
Fatal error: Unknown: Failed opening required 'srv/vendor/google/cloud-error-reporting/src/prepend.php' (include_path='.:/layers/google.php.runtime/php/lib/php') in Unknown on line 0
PHP Warning: Unknown: failed to open stream: No such file or directory in Unknown on line 0
PHP Fatal error: Unknown: Failed opening required 'srv/vendor/google/cloud-error-reporting/src/prepend.php' (include_path='.:/layers/google.php.runtime/php/lib/php') in Unknown on line 0
対策方法
php.iniからauto_prepend_fileのパスを記述している行を削除し、プロジェクトのルートフォルダにあるphpファイル(なければ作成)に以下を追加
require_once __DIR__ . '/vendor/google/cloud-error-reporting/src/prepend.php';
以上です。
<参考ページ>