先日、Webサーバー上のファイルを誤って消してしまい、画像ファイルなどをFTPで再アップすると共に、MODXもEVO 1.0.12に更新しました。directResizeも最新版を拾ってきてアップしました。
すると、パーミション拒絶エラーで表示出来ないページが出てきました。問題箇所はdirectResize.phpの654行目
コード: 全て選択
if(!mkdir($modx->config['base_path'].$path_to_gal, 0777)) {
そこでイメージファイルのパーミションを変更したりしましたが解決せず、ふと見るとファイルの所有者が2通りあることに気付きました。
FTPソフトでアップロードした画像やdirectResizeを含めたシステムファイルの所有者は5**。一方、Modxの管理画面からアップした画像や自動生成されたサムネイルは4*と言った具合です。
つまり、directResize.phpの所有者は5**なので、管理画面からアップした所有者4*のファイル/フォルダのパーミッションを勝手に変更できないということではないかと推察します。
実は最近自宅のPCをWindowsXPからUbuntuに切り替えました。Windowsにはファイルの所有者という概念が無いので、FTPでファイルをアップロードしても問題無かったが(所有者は空欄?)、ローカルがLinuxだと自動的に所有者情報が付いてしまうので、FTP経由とWebサーバ上での生成の違いで2つの所有者が出来てしまったということでしょうか?
もし的はずれなことを書いていたらすみませんが、こういうケースではどのように対応したら良いのでしょうか?
-----
ご利用のサーバ:Just size net ec015
MODXのバージョン:1.0.12j
PHPのバージョン:5.4.5
MySQLのバージョン:5.1.61
ブラウザ:Chrome for Linux
-----