PHPバージョンアップしたら500エラーでアクセス不可になった話
PHP5.xで動いていた.phpのページが、PHP7.xにバージョンアップしたら500になってアクセスできなくなった。のを直したのでメモ。
環境
- LolipopサーバでPHP5.xを利用
- 数日前に7.xにバージョンアップした
- .phpはシンプルな処理のみ
状況
やったこと
- ググる。
あんまり複雑なことしてないから難しい仕様変更には当てはまらない気がした - ロリポップのヘルプ記事を検索
ヘルプの検索場所がわからなかったので、チャットサポート(bot)に「500エラー」と打ったらそれっぽいページを返してくれた
HTTP ERROR 500というエラーが発生します - ロリポップ!レンタルサーバー - php.ini の設定変更
上記 2. のヘルプページに従ってPHPのエラーを表示するよう変更 - エラーを出す.phpにアクセスしてエラー内容&行を確認、修正
上記で無事復旧できました。
原因
PHP: 下位互換性のない変更点 - Manual 「同じ名前のパラメータをひとつの関数に複数定義できない」に該当している関数がありました。 同じものを2回呼び出している理由は分からないですが(参照元のコードは別パラメータだったけどとりあえず置換したら同じになったとかそんなだと思う)、消して問題なさそうだったので片方のパラメータを削除しました。
めでたし。