Web サーバーに最新の安定した PyroCMS バージョンを新規インストールしました。セッション データに関する PHP エラーのため、サイトをほとんど使用できません。「ヘッダー データを変更できません。」
CMS が MAMP ではエラーなしで実行されるのに、ライブ サーバーでは実行されないのはなぜですか?
私も同じ問題を抱えていました。PyroCMS は、MAMP がデフォルトで使用しているものである php 5.4 で問題を抱えているようです。PHP のバージョンを 5.3 に変更してみてください。
エラーの表示に関しては、両方のサーバーの構成が異なる必要があります。
error_report('E_ALL');
最初のページ(おそらく)に配置index.php
するか、CMSでのエラーの表示を無効にする方法を見つけてください(いくつかの構成が必要です)。
またはoff
、display_errors
ディレクティブをphp.ini
ファイルに入れてみてください。
本番環境に移行する前にローカル マシンのエラーを検出できるように、PHP をセットアップする必要があります。あなたは現在、これを間違った方向に持っているようです!
これを修正するには、MAMP の開発インストールで、php.ini で error_reporting を E_ALL に設定し、display_errors を「on」に設定する必要があります。運用 Web サーバーでは、少なくとも display_errors を 'off' に設定する必要があります (代わりにログ ファイルに送信されることを確認してください - それらを失いたくない場合)。また、error_reporting を E_ERROR に減らしたい場合もあります。
E_ERROR に設定すると、運用サーバーのログがクリーンに保たれるため、大きな問題が発生したときにそれを見つけることができます。PHP の通知や警告を生成するライブラリや CMS を使用している場合は特に、これを実行する必要があります。これについては何もできません。別の方法として、E_ALL を使用してすべてをログに記録し、表示されるすべてのものを体系的に整理したい場合もありますが、アップグレードが面倒にならずに変更できるコードを使用する必要があります。運用サーバーの環境がローカルの環境と異なる場合があり、予期しない理由で物事が本当に壊れる可能性があるため、これは非常に便利です。
ちなみに、「ヘッダー データを変更できません」というエラーは、缶に何と書いてあるにせよ、これが PyroCMS の安定したバージョンではないことを示唆しています!
助けてくれてありがとう。最終的に、セッションに関係する問題を発見しました。私はsession.autostart=on
ライブサーバーにいました。これをオフにすると問題が解決しました。