Shiroto Cosme Nikki

here is Cosmetic blog by beginner.

PHPバージョンアップしたら500エラーでアクセス不可になった話

PHP5.xで動いていた.phpのページが、PHP7.xにバージョンアップしたら500になってアクセスできなくなった。のを直したのでメモ。

環境

  • LolipopサーバでPHP5.xを利用
  • 数日前に7.xにバージョンアップした
  • .phpはシンプルな処理のみ

状況

  • .phpのページだけアクセスできない(500エラー)
  • エラー内容がわからないのでどこを直せばいいかわからない(※php初心者)

やったこと

  1. ググる
    あんまり複雑なことしてないから難しい仕様変更には当てはまらない気がした
  2. ロリポップのヘルプ記事を検索
    ヘルプの検索場所がわからなかったので、チャットサポート(bot)に「500エラー」と打ったらそれっぽいページを返してくれた
    HTTP ERROR 500というエラーが発生します - ロリポップ!レンタルサーバー
  3. php.ini の設定変更
    上記 2. のヘルプページに従ってPHPのエラーを表示するよう変更
  4. エラーを出す.phpにアクセスしてエラー内容&行を確認、修正

上記で無事復旧できました。

原因

PHP: 下位互換性のない変更点 - Manual 「同じ名前のパラメータをひとつの関数に複数定義できない」に該当している関数がありました。 同じものを2回呼び出している理由は分からないですが(参照元のコードは別パラメータだったけどとりあえず置換したら同じになったとかそんなだと思う)、消して問題なさそうだったので片方のパラメータを削除しました。

めでたし。