diary/20090706

ID: 1105 | 作成日: 2009/07/06 [Mon] 15:01:00 | 最終更新: 2012/09/12 [Wed] 15:46:24
FrontPage / diary / 20090706

PHP5移行時に起きた問題

前に書いた利用しているレンタルサーバ「ロリポップ!」のPHP5移行作業ですが、これまでにいくつかのブログやロリポップ!公認のサポート掲示板で、その作業に関する話題を見かけました。

・・・で、結構情報は出ているかなぁとは思いますが、今後その作業を行う方もいると思うので、少しでも参考になるように情報は提示しておいたほうがいいだろうということで、僕のほうであった問題について書いておこうと思います。

まず利用しているPHP製のツールがすべてPHP5に対応しており、「PHP5では動かないよ」というエラーはありませんでした。

僕の場合、起きた問題は大まかにふたつ。
1. ファイルの所有者やパーミッションの問題でスクリプトからファイルが操作できないためのエラー。
2. BASIC認証ができない。

実は今回のロリポップでのPHP5移行はバージョンアップというだけでなく、モジュール版からCGI版に変更されています。
そして、PHP4のときにツールが出力したファイル(たとえば掲示板スクリプトが保存している掲示板に書き込まれた内容のデータ等)は所有者が「apache」ですが、PHP5になってからはユーザーに代わっています。

さらに、PHP4のときにスクリプトが保存したファイルのうち、いくつかがユーザーに書き込み権限がないパーミッションの設定であったために、PHP5に移行したサーバ環境ではPHPスクリプトからファイルの編集が出来なくなってしまったのです。

僕の場合、単純な方法なんだけどFTPクライアントを使って一旦ダウンロード、サーバのデータを削除してそれを再アップしてパーミッションを変更しました。(所有者apacheのファイルはFTPクライアントでパーミッションを変更できないが、FTPクライアントでアップしたファイルは所有者がユーザーになりパーミッションを操作できるため)

1の問題は前述のように単純な方法で解決しましたが、2は残念ながら未解決。
実は通常、CGIモードはスクリプトからBASIC認証が利用できないので、これは今のところあきらめて使わないことにしました。