😵 困ったとき

レンタルサーバで動かない


ローカルの Lampman 環境では稼働しているのに、FTPでレンタルサーバにアップロードなどすると、エラーになってしまう場合があります。

Dockerはあくまで擬似的なLinuxコンテナですので、ホストOS側のファイルシステムの違いなどが影響して本番サーバと異なる挙動をするケースが多々あります。Lampmanで動いてるから本番切り替えは1時間あれば十分だわーなどと思っていると、おおいにハマるのでご注意ください。
以下、ヒントです。

  • .htaccess でそのサーバ専用の何かをしなくちゃいけない(PHPハンドラーの設定や、Optionsディレクティブの設定など)
  • PHPエラーで"クラスが見つからない"と出るのは、クラス名の大文字/小文字を間違っている可能性がある(Windowsホスト上だと大文字/小文字の区別無くてもエラーにならない模様)
  • DB接続情報が正しいか再度確認を。サーバによっては localhost だとダメで、 127.0.0.1 にする必要があるところもある。
  • ajaxなどが304エラーを返す場合は、サーバ側セキュリティ設定でWAFが効いてる可能性があるので無効にするなど。
  • ファイルアップロードの機能がある場合、パーミッション0600で保存されてしまうことがあるので、0644等になるように修正
  • PHPのエラー表示設定が違う場合があり、これにより挙動が変わってくる場合もあります。

大事なのは、Dockerを過信しないことと、必ず原因を突き止められると信じる心です。

results matching ""

    No results matching ""