写真素材ぱくたそ
自分で書いたPHPが完成したからレンタルサーバーにアップ、だけど動かない!
ローカルでの開発用環境ではちゃんと動いたのに何故?って状況に遭ったので、解決までにチェックした項目をメモしておこうと思います。
僕が今回確認したのは3つほどでした。
1.ルートパスが違うのでは?
PHPでよくありがちなパス間違いではと最初に疑いました。絶対パスで書いてあると開発用環境と本番環境でルートが違うなんてのはよくある話かなぁと。
とりあえずレンタルサーバーの管理画面に入って正しいパスを確認してみました。
2.文字の内部文字エンコードが違う?
調べてみて怪しかったのがPHPの内部文字エンコードの設定です。ざっくり言うとこれが違うと文字化けが起こりコードがうまく動かないこともあるっぽい。
こちらも確認してみるとShitJISになってたのでUTF-8に設定してみました。
3.PHPのバージョンを確認する
僕の場合これが原因だったのですが、レンタルサーバーでデフォルトに設定されていたPHPが5.1と古いものでした。
そりゃ動かないわけです。レンタルサーバーって勝手に最新のバージョンなのかと思ってたので盲点でした。
こちらも管理画面で簡単に設定し直せました。
コード書いてるとアルゴリズムは合ってるのに環境の違いのせいで上手くいかないことって案外多い気がします。
最近別件でびっくりしたのは、サーバーの時間設定が日本時間だと動くのに海外時間だと動かないプログラムとか。
まあ、最初に環境を確認しておけって話なんですけどね。。
簡単なモックとかだとよくスルーしちゃうので自省自省…。