最新の安定版PyroCMSをWebサーバーに新しくインストールしました。セッションデータに関連するPHPエラーが原因でサイトをほとんど使用できなくなりました。 msgstr "ヘッダデータを変更できません。"ライブサーバーのエラーですが、MAMPにはありません
なぜCMSはMAMPではエラーなしで実行されますが、ライブサーバーでは実行されませんか?
最新の安定版PyroCMSをWebサーバーに新しくインストールしました。セッションデータに関連するPHPエラーが原因でサイトをほとんど使用できなくなりました。 msgstr "ヘッダデータを変更できません。"ライブサーバーのエラーですが、MAMPにはありません
なぜCMSはMAMPではエラーなしで実行されますが、ライブサーバーでは実行されませんか?
お手数ですがありがとうございます。私は最終的にセッションと関係していた問題を発見しました。ライブサーバーにはsession.autostart=on
がありました。これをオフにして問題を解決しました。
エラーの表示に関するサーバーの設定が異なる必要があります。
最初のページ(おそらくindex.php
)にerror_report('E_ALL');
を配置するか、CMSにエラーを表示しないようにする方法があります(いくつかの設定が必要です)。
php.ini
ファイルにdisplay_errors
指示文を入力してみてください。
ローカルマシンでエラーが発生する前にPHPをセットアップしておく必要があります。あなたは現在、これが間違った方向にあるようです。
これを修正するには、MAMPのdevインストールで、error_reportingをphp.iniのE_ALLに、display_errorsを 'on'に設定する必要があります。あなたのプロダクションWebサーバはdisplay_errorsを少なくとも 'off'に設定する必要があります(代わりにログファイルに送られていることを確認してください)、error_reportingをE_ERRORに減らすこともできます。
E_ERRORに設定すると、プロダクションサーバーのログがきれいになり、発生したときに大きな問題が発生する可能性があります。 PHPの通知や警告を生成するライブラリやCMSを使用している場合は、特にこれを行うことができます。これは何もできません。あるいは、E_ALLを使ってすべてをログに保存し、表示されているすべてのものを体系的に整理することもできますが、アップグレードするのに煩わしくなることなく変更できるコードを使用する必要があります。これは非常に便利なことがあります。これは、プロダクションサーバーの環境がローカルサーバーと異なる場合や、期待していない理由が原因で実際に破損する可能性があるためです。
「ヘッダーデータを変更できません」というエラーは、これがPyroCMSの安定版ではないことを示唆しています。
PyroCMSは、実際に組み込まれているエラーレベルを制御しています.PYRO_ENVというApache環境変数があります。これはDEVELOPMENT、STAGING、PRODUCTIONのいずれかで、デフォルトのインストールでDEVELOPMENTに設定されています - [標準.htaccessファイル]に行がありますhttps://github.com/pyrocms/pyrocms/blob/2.1/develop/.htaccess)でコメントを付けて、プロダクションに設定することができます。 [Display.errors](http://uk3.php.net/manual/en/errorfunc.configuration.php#ini.display-errors)は、[index.php]の「エラー報告」セクション(https: //github.com/pyrocms/pyrocms/blob/2.1/develop/index.php) –
私は同じ問題を抱えていました。 PyroCMSは、MAMPがデフォルトで使用しているPHP 5.4で問題があるようです。あなたのPHPバージョンを5.3に切り替えてみてください。
おかげで、私は以下の回答を見てきましたし、エラー報告で遊んで見ています。ちなみに、私はこれをテストするために別のサーバーにアクセスすることができました。問題はありません。 –