コアサーバーが順番にバージョンアップを行っています。PHPが5.2から5.3へバージョンアップしたことで、急に動かなくなるプログラムが続出して、その都度対応をしています。
エラーが出るポイントはほぼ決まっているので、まとめておきます。
・.hraccessファイルの表記
.hraccessファイルに、php_flag、php_value、mod_gzip_onといった記述があると500エラーが出ます。記述を消去するか、コメントアウトします。
代わりに、.user.iniファイルを作って記述します。ただしそのままコピペではダメです。
php_flag register_globals off
↓
register_globals=off
のように、最初の部分を取り払って、設定部は=(イコール)を入れます。
.user.iniのようなドットから始まるファイルは、パソコン環境によっては作れない場合があります。まずはドットなしのuser.iniファイルで編集して、サーバーへアップした後に、名前を変更するとよいでしょう。アップする場所は、サイトのトップ下のディレクトリです。
対応方法は、下記のページにまとめられています。
・register_globals on
エクスリア、コアサーバーはデフォルトでregister_globalsがONになっていました。$_GET[’sanple’]や$_POST[’sanple’]といった外部からのパラメーターを$sampleという変数で取り出せるものです。
セキュリティ的に問題があるので、今回からOFFになってのでしょう。.user.iniでregister_globals=onの設定をしても良いですが、コード内の記述を変更したほうが良いでしょう。
・require()、include()と、header(“location: “)
header(“location: “)でリダイレクトをする際、header()以前に、htmlの文字列が表示されてしまうとエラーになります。
該当するファイル内で問題なくても、コード先頭で、require()、include()で外部のファイルを読み込んでいて、読み込み先のファイルの最後の?>の後に改行やスペースがあると、エラーになります。
今回のバージョンアップで、チェックが厳しくなったようです。
・エラー表示
エラー表示がデフォルトでOFFになっているようです。.user.iniファイルに下記の記述をすれば、エラーが表示されるようになります。
display_errors = On
error_reporting = E_ALL & ~E_NOTICE
▼▼▼▼
以上です。ありがちな問題は、随時更新していきます。
コメント