[PHP-users 27339] safe_modeにおけるimagejpeg関数
a2cf@achn.co.jp
a2cf @ achn.co.jp
2005年 11月 2日 (水) 17:55:10 JST
atsushiといいます。
いつも参考にさせていただいております。
imagejpeg関数について質問があります。
先日発表されたPHP4.4.1にバージョンアップしたところ、safe_mode=Onの場合、
imagejpeg関数で画像をファイルに保存すると下のエラーが発生するように
なってしまいました。
「エラーメッセージ」
PHP Warning: imagejpeg(): Unable to access photopath/a.jpg in cgipath/xxx.cgi on line nnn
PHP Warning: imagejpeg(): Invalid filename 'photopath/a.jpg' in cgipath/xxx.cgi on line nnn
いろいろテストしたところ、imagejpeg関数で画像を新規に作成する前に、
ダミーのファイルをtouch a.jpg等で作成しておくと、エラーが発生せずに
正しい画像データでファイルの内容が更新されるようになりました。
これは仕様なのでしょうか?もしくは誤っている部分などがありますでしょうか?
単純な質問で申しわけありませんが、もしもお分かりの方がおりましたら
お知らせいただければ幸いです。
環境としては、php.iniはphp.ini-recommendedをそのまま
使い(safe_mode=Onのみ変更)、画像を書き込むディレクトリの
所有者・グループはhttpdプロセスと同じで、念のためパーミッションも
777にしてあります。
何とぞよろしくお願いします。
環境: RedHat / PHP4.4.1(ソースからコンパイル)
PHP-users メーリングリストの案内