PHPのopen_basedirの設置することを忘れないように

自分はVPSでメールサービスを構築したので、便利に使いようのため、Roundcubeでメールのウェブ管理サイトも構築した

けれど昨日は突然アドレス帳で相手の写真をうpできないという問題に気づいた。メールならちゃんとファイルを添付できるのに、実に変な問題だと思ったね。最初はRoundcubeの問題と思ったけど、自分で一つ簡単なPHPスクリプトを実行したら、何と全く同じ問題が出てきた

従って、一応ウェブサーバーのログを見たら、やっぱりこれに関するエラーがあった

PHP message: PHP Warning:  getimagesize(): open_basedir restriction in effect. File(/tmp/php1PACw4) is not within the allowed path(s): (/var/www) in /var/www/test/upload.php on line 5

これで解明した。ちょっと調べたら、一時ディレクトリーをphp.iniのかなのopen_basedirに綴らなきゃいけない。自分も同じ開発環境を使ってるけど、この問題に気づかなかったのはローカルのphp.iniも開発環境用のバージョンだったので、open_basedirはコメントアウトされた

コメントを残す