
Magento 2の初期設定では、フロントエンドにエラーを表示する機能が無効になっています。そこで今日は、エラーを表示する方法をご紹介します。Magento 2でエラー表示を有効にする。
方法1:pub/errors/local.xml.sampleファイルのリネーム
ブラウザ上でエラーを表示するには、単純に1つのXMLファイルの名前を変更すればよい。ただし,この方法は本番環境ではお勧めできませんので,開発環境での使用に限定してください。以下にその方法をご紹介します。
- まず、Magento2のルートディレクトリに行きます。
- そして、pub/errorsを開きます。
- すると、local.xml.sampleという名前のファイルがあります。
- これを local.xml.sample から local.xml にリネームします。つまり、ファイル名からsampleを削除します。
- 最後に、Magento管理画面から、
System > Tools > Cache Management
で、キャッシュを更新します。
方法2:.htaccessファイルの編集
エラーを表示させる2つ目の方法は、Magento 2 サイトの .htaccess ファイルを編集することです。このファイルを編集すると、Magentoの開発モードと、PHPのエラー表示設定を有効にすることができます。
まず、.htaccessファイルを開き、そのファイルの最後に以下のコードを記述します。
php_value display_errors on ## enable PHP's error display settings
php_value error_reporting -1 ## set error display to E_ALL
コードを追加したら、ターミナル/コマンドプロンプトを開き、Magentoのルートディレクトリにアクセスします。
cd /path/to/your/magento/directory
以下のコマンドを実行して、開発者モードを有効にしてください:
php bin/magento deploy:mode:set developer
現在のデプロイモードは、このコマンドで確認できます。
php bin/magento deploy:mode:show
最後に、以下のコマンドで「Cache」をクリアします:
php bin/magento cache:clean
上記のすべての手順を正しく実行すると、Magentoのウェブサイトを閲覧する際に、ブラウザ自体にエラー表示がされるようになります。ただし、最初の方法と同様に、これは開発環境でしか使えません。
方法3:app/bootstrap.phpファイルの編集
Magentoのサイトでエラー表示を有効にするには、.htaccessファイルを編集するのが望ましいのですが、それ以外にもPHPファイルを編集することができます。このファイルを編集するには、以下の手順に従ってください:
- まず、Magentoのルートディレクトリにアクセスします。
- そして、ファイル app/bootstrap.php を開きます。
- ファイルの最初に、このラインコードがあります。
#ini_set('display_errors', 1);
それを見たら、コードを更新してください:
error_reporting(E_ALL); # Set Error Reporting as E_ALL (Report all PHP errors)
ini_set('display_errors', 1); # Un-commenting this line to enable PHP error display
コードを更新した後、ターミナル/コマンドプロンプトを開き、Magentoのルートディレクトリに移動します。
cd /path/to/your/magento/directory
そして、開発者モードを有効にするために、以下のコマンドを実行する必要があります。
php bin/magento deploy:mode:set developer
現在のデプロイモードを確認したい場合は、以下の行を使用できます。
php bin/magento deploy:mode:show
最後に、Cacheをクリアします。
php bin/magento cache:clean
以上で完了です。上記のすべての手順を正しく実行すると、ブラウザ上にエラー表示が表示されるようになります。
結論
結論として、フロントエンドでのエラー表示を有効にすることは、様々な場面で役に立ちますが、開発環境にのみ適しています。もし本番環境に移行した場合は、変更を元に戻してください。この記事を読んで、Magento 2 のサイトでエラーを表示する方法を知っていただければ幸いです。