MODx1.0.21Jで ファイル管理機能 について

質問全般・改善要望
masayasu_s
メンバー
メンバー
記事: 32
登録日時: 2012年9月14日(金) 07:55

MODx1.0.21Jで ファイル管理機能 について

投稿記事by masayasu_s » 2019年2月07日(木) 10:15

お世話になっております。
MODx 1.0.21J にてフォルダを作成したところ、
エラー画面が表示され、正常にフォルダが作成されませんでした。

また正常に作成されなかったフォルダは管理画面上から削除出来ず、
SSHでサーバ接続後にCLIコマンドから削除を行いました。

 イベントログの内容とサーバー側のパーミッションを添付します。


サーバーに直接ログインしないホームページ編集担当では対応が難しく、
修正頂けると助かります。

必要な情報が足りなければ調べますので、
よろしくお願い致します。


--------------------------------------------------------
■エラー内容

内容①:上メニュー「エレメント」>「ファイル管理」からのフォルダ作成に失敗する。

※ 「ファイル管理」からのファイルアップロードは成功します。
※ TinyMCEからのフォルダ作成、ファイルアップロードは成功します。

内容②:正常に作成されなかったフォルダがサーバー上に残る。


--------------------------------------------------------
■イベントログ内容

エラー
イベントID 1039
ソース Parser - $dfiles = scandir($newpath); - Usin
日付 2019/02/07 09:18:05
ユーザー admin

≪ MODX Parse Error ≫
MODX encountered the following error while attempting to parse the requested resource:

≪ PHP Parse Error ≫
PHP error debug
Error : scandir(/home/modx_user/public_html/assets/images/test/aaaa): failed to open dir: Permission denied
ErrorType[num] : WARNING[2]
File : /home/modx_user/public_html/manager/actions/element/files.dynamic.php
Line : 486
Source : $dfiles = scandir($newpath);
LastQuery : SELECT name,type,id,elements FROM `riko_ditto_test`.`modx_site_tmplvars` ORDER BY name ASC


--------------------------------------------------------
■サーバー環境
OS CentOS 7.5
MODx 1.0.21J

Apache 2.4.37
PHP 7.2.14
MySQL 5.6.43
--------------------------------------------------------
添付ファイル
event_log.txt
(1.36 KiB) ダウンロード数: 147 回
サーバ内の状態.txt
(314 バイト) ダウンロード数: 137 回
アバター
yama
管理人
記事: 3077
登録日時: 2009年7月29日(水) 02:50

MODx1.0.21Jで ファイル管理機能 について

投稿記事by yama » 2019年2月07日(木) 10:26

ありがとうございます、後ほど修正します。
アバター
yama
管理人
記事: 3077
登録日時: 2009年7月29日(水) 02:50

MODx1.0.21Jで ファイル管理機能 について

投稿記事by yama » 2019年2月11日(月) 15:01

files.dynamic.zip
(7.5 KiB) ダウンロード数: 160 回

お待たせしました。参考情報のおかげでスムーズに修正できました。
添付のファイルを展開して /manager/actions/element/ フォルダに上書きして試していただけますでしょうか。
masayasu_s
メンバー
メンバー
記事: 32
登録日時: 2012年9月14日(金) 07:55

MODx1.0.21Jで ファイル管理機能 について

投稿記事by masayasu_s » 2019年2月12日(火) 19:54

対応ありがとうございます。
files.dynamic.php の上書きを試してみましたが、挙動は変わりませんでした。

操作時に表示されたエラーメッセージの方が、Eventログより少し情報が多かったのでこちらを添付します。
 ----------------------------------------------------------------------------------
 ■操作時のエラーメッセージ

 Warning: Cannot modify header information - headers already sent by
  (output started at /home/modx_user/public_html/manager/actions/header.inc.php:24)
  in /home/modx_user/public_html/manager/includes/extenders/ex_subparser.php on line 375

 ≪ MODX Parse Error ≫ 前回と同じ内容でした。
 ≪ PHP Parse Error ≫ 前回と同じ内容でした。
 ----------------------------------------------------------------------------------

よろしくお願い致します。
添付ファイル
error_log_0212.txt
(1.6 KiB) ダウンロード数: 139 回
アバター
yama
管理人
記事: 3077
登録日時: 2009年7月29日(水) 02:50

MODx1.0.21Jで ファイル管理機能 について

投稿記事by yama » 2019年2月13日(水) 08:41

ありがとうございます。 files.dynamic.php on line 486 とありますが、この画面が表示される前に
すでに問題が起きている感じです。

files.dynamic.zip
(7.91 KiB) ダウンロード数: 171 回

umaskという関数が問題を起こしているように思うので、削除しました。
まだこれだけでは解決しない可能性があるので、全体的に処理を整理しています。
masayasu_s
メンバー
メンバー
記事: 32
登録日時: 2012年9月14日(金) 07:55

MODx1.0.21Jで ファイル管理機能 について

投稿記事by masayasu_s » 2019年2月13日(水) 10:15

上書きを試してみましたが、挙動は変わりませんでした。

エラーメッセージを添付しますので、
よろしくお願い致します。
添付ファイル
error_log_0213.txt
(1.67 KiB) ダウンロード数: 130 回
アバター
yama
管理人
記事: 3077
登録日時: 2009年7月29日(水) 02:50

MODx1.0.21Jで ファイル管理機能 について

投稿記事by yama » 2019年2月13日(水) 10:37

ありがとうございます、引き続き調査を行ないます。
作成されたaaaaフォルダのパーミッションは今回もd-wxrw-r-tになってますか?
masayasu_s
メンバー
メンバー
記事: 32
登録日時: 2012年9月14日(金) 07:55

MODx1.0.21Jで ファイル管理機能 について

投稿記事by masayasu_s » 2019年2月13日(水) 11:01

はい。
パーミッションは d-wxrw-r-t になっていました。
masayasu_s
メンバー
メンバー
記事: 32
登録日時: 2012年9月14日(金) 07:55

MODx1.0.21Jで ファイル管理機能 について

投稿記事by masayasu_s » 2019年2月13日(水) 11:15

管理画面のグローバル設定から「新規ディレクトリのパーミッション」を変えてみたところ、
いくつか挙動が変わったのでこちらも送ります。
 -------------------------------------------------
 ディレクトリ設定値:0757 (今までの設定値)
 作成結果:d-wxrw-r-t にて作成される。(エラーが発生する)

 ディレクトリ設定値:0755
 作成結果:d-wxrw--wt にて作成される。(エラーが発生する)

 ディレクトリ設定値:0777
 作成結果:dr----x--t にて作成される。(エラーは発生しないが、ディレクトリには書込み出来ない。)
 -------------------------------------------------

よろしくお願い致します。
アバター
yama
管理人
記事: 3077
登録日時: 2009年7月29日(水) 02:50

MODx1.0.21Jで ファイル管理機能 について

投稿記事by yama » 2019年2月13日(水) 13:57

files.dynamic.zip
(7.91 KiB) ダウンロード数: 163 回

だいたいポイントが絞れてきたと思いますが、これだとどうでしょう?
masayasu_s
メンバー
メンバー
記事: 32
登録日時: 2012年9月14日(金) 07:55

MODx1.0.21Jで ファイル管理機能 について

投稿記事by masayasu_s » 2019年2月13日(水) 16:54

ありがとうございます。
修正後の files.dynamic.php を上書きしたところ、正常にディレクトリが作成できました。

他の動作(ディレクトリの作成・削除、ファイルのUpload・削除)も問題ありません。
グローバル設定「新規ディレクトリのパーミッション」の通りに作成されました。

度々対応頂きまして、本当にありがとうございました。
アバター
yama
管理人
記事: 3077
登録日時: 2009年7月29日(水) 02:50

MODx1.0.21Jで ファイル管理機能 について

投稿記事by yama » 2019年2月14日(木) 19:21

files.dynamic.zip
(7.42 KiB) ダウンロード数: 179 回

すみません、こちらも試していただいてよいですか?
コード整理を行わず、該当部分の修正のみを行なったファイルです。
これで問題なければ次のリリースで採用します。
masayasu_s
メンバー
メンバー
記事: 32
登録日時: 2012年9月14日(金) 07:55

MODx1.0.21Jで ファイル管理機能 について

投稿記事by masayasu_s » 2019年2月15日(金) 19:39

2月14日版の files.dynamic.php を試してみました。

 ----------------------------------------------------
 ■テスト結果
 ディレクトリ作成 OK
 ディレクトリ権限 OK (設定値で生成されます。)
 ディレクトリ削除 OK

 ファイル作成 OK
 ファイル権限 OK (設定値で生成されます。)
 ファイル削除 OK

 画像ファイル 表示 OK
 Textファイル 表示 OK

 Textファイル 編集 保存されない。
  (標準状態の modx-1.0.21J では保存されました。)
 ----------------------------------------------------

申し訳ございません。
動作テストの時にTextファイルへの書込みを見落としておりました。
2月11日以降の files.dynamic.php では、Textファイルに書込みをしても保存されませんでした。
(Apache, PHP, MODxのエラーはありませんでした。)

よろしくお願い致します。