ファイルマネージャーからのファイル削除ができない

バグかなと思ったらこちらへ。

ファイルマネージャーからのファイル削除ができない

投稿記事by kamo on 2018年4月15日(日) 22:32

いつも開発ありがとうございます、kamoです。

3.0.1p29では可能だったファイルマネージャーからのファイル削除が
3.0.1p69(3.0.1p68でも同様)ではファイルマネージャーからのファイル削除が
できないことに気がつきました。

Xサーバー環境で3.0.1p29も3.0.1p69も確認しました。


プログラム上の問題?
それともサーバーの仕様の違いでしょうか、
または設定上の問題でしょうか?
3.0.1p69-file_not-delete.png
ファイル削除操作時の画面
3.0.1p69-file_not-delete.png (32.84 KiB)


初期管理者IDでログイン、一般管理者でも同様に削除ができませんでした。
削除可能な環境の設定情報
-------------------
3.0.1p29の環境
SOY CMS Version: 3.0.1p29
SOY CMS Build Date: 2017-11-08T07:00:43+0000
SOY CMS DB Type: sqlite

PHP Version: 7.0.18
PHP SAPI NAME: cgi-fcgi
PHP SAFE MODE: No
MAGIC_QUOTE_GPC: No
SHORT_OPEN_TAG: Yes

mb_string: Yes
PDO: Yes
PDO_SQLite: Yes
PDO_MySQL: Yes
Standard PHP Library: Yes
SimpleXML: Yes
JSON: Yes
Services_JSON: No
ZIP: Yes
ZipArchive: Yes
Archive_Zip: No
OpenSSL: Yes
HASH: Yes
GD: Yes

Module/CGI CGI
Rewrite Unknown
----------削除不可の環境の情報
3.0.1p69の環境 インストールフォルダパーミッション705(755でも結果は同じ)

SOY CMS Version: 3.0.1p69
SOY CMS Build Date: 2017-11-08T07:00:43+0000
SOY CMS DB Type: sqlite

PHP Version: 5.6.30

PHP SAPI NAME: cgi-fcgi
PHP SAFE MODE: No
MAGIC_QUOTE_GPC: No
SHORT_OPEN_TAG: Yes

mb_string: Yes
PDO: Yes
PDO_SQLite: Yes
PDO_MySQL: Yes
Standard PHP Library: Yes
SimpleXML: Yes
JSON: Yes
Services_JSON: No
ZIP: Yes
ZipArchive: Yes
Archive_Zip: No
OpenSSL: Yes
HASH: Yes
GD: Yes

Module/CGI CGI
Rewrite Unknown
--------------
3.0.1p68

SOY CMS Version: 3.0.1p68
SOY CMS Build Date: 2017-11-08T07:00:43+0000
SOY CMS DB Type: sqlite

PHP Version: 7.1.4

PHP SAPI NAME: cgi-fcgi
PHP SAFE MODE: No
MAGIC_QUOTE_GPC: No
SHORT_OPEN_TAG: Yes

mb_string: Yes
PDO: Yes
PDO_SQLite: Yes
PDO_MySQL: Yes
Standard PHP Library: Yes
SimpleXML: Yes
JSON: Yes
Services_JSON: No
ZIP: Yes
ZipArchive: Yes
Archive_Zip: No
OpenSSL: Yes
HASH: Yes
GD: Yes

Module/CGI CGI
Rewrite Unknown
-------------
もし、設定上の問題やサーバー環境の問題なら、
お手数でもどこを調整すれば解決できるか?
お時間のあるときにアドバイスいただけると助かります。

御多忙のところ大変お手数をお掛けします。
どうぞ、よろしくお願いいたします。
kamo
 
記事: 124
登録日時: 2009年3月25日(水) 15:44

Re: ファイルマネージャーからのファイル削除ができない

投稿記事by inunosinsi on 2018年4月16日(月) 05:15

filesの上の階層のディレクトリの書き込み権限で作成権限が与えられていないということはありませんか?
SOY CMSの操作に関する質問は下記のページのフォームで受け付けています。
https://saitodev.co/soycms/inquiry

京都でフリーのプログラマをしています。
SOY ShopのプラグインやSOY Appの開発のサポートをしています。
http://saitodev.co/soycms(SOY CMSのマニュアルを作成しています)

株式会社京都農販(SOY Shopのサイト)
株式会社コトブキ園(SOY Shop)
inunosinsi
 
記事: 683
登録日時: 2008年6月12日(木) 20:48

Re: ファイルマネージャーからのファイル削除ができない

投稿記事by kamo on 2018年4月16日(月) 06:30

inunosinsi 様

いつもご対応ありがとうございます、kamoです。
サイトフォルダは755で同じ設定ですが、試しに機能が働くバージョンの3.0.1p29を
今ほど同一サーバーの同一ドメインにインストールして動きを確認してみました。

サーバー環境やフォルダには特に何の変更も加えていませんが、
このバージョンの場合はfilesフォルダ内の画像の削除が
有効になり
削除用のメッセージ「アイテムを完全に削除してもよろしいですか?・・・」
のメッセージが表示されました。

また、画像を選択した段階で操作アイコンが「×」印のアイコンに変化します。

301p69_files-not-delete2.png
同一環境でバージョン違いのテスト結果
301p69_files-not-delete2.png (55.54 KiB)

 以上追加情報として記載させて頂きました。
kamo
 
記事: 124
登録日時: 2009年3月25日(水) 15:44

Re: ファイルマネージャーからのファイル削除ができない

投稿記事by inunosinsi on 2018年4月16日(月) 12:25

利用しているファイルマネージャはオープンソースのelFinderを組み込んでいます。

/soycms/js/elfinder/php/connector.php
PHPで記載されていますが、上記のパスが設定ファイルになり、

136行目あたりに
コード: 全て選択
// Documentation for connector options:
// https://github.com/Studio-42/elFinder/wiki/Connector-configuration-options

という記述があり、その下のコードが設定に関する記述です。

パラメータを変えながら、ご自身のサーバにあう設定を探ってみてください。
SOY CMSの操作に関する質問は下記のページのフォームで受け付けています。
https://saitodev.co/soycms/inquiry

京都でフリーのプログラマをしています。
SOY ShopのプラグインやSOY Appの開発のサポートをしています。
http://saitodev.co/soycms(SOY CMSのマニュアルを作成しています)

株式会社京都農販(SOY Shopのサイト)
株式会社コトブキ園(SOY Shop)
inunosinsi
 
記事: 683
登録日時: 2008年6月12日(木) 20:48

Re: ファイルマネージャーからのファイル削除ができない

投稿記事by kamo on 2018年4月16日(月) 16:54

inunosinsi 様

いつもご対応ありがとうございます、kamoです。

結果から申しますと、問題が解決しました。

教えて頂いたファイル
/soycms/js/elfinder/php/connector.php
を3.0.1p29と3.0.1p69で比較、
ファイル自体は同じ内容だったので、
ほかに原因があるものと判断して、再度不具合表示のメッセージを
見ていたら、「フォルダが見つからない・・・」という部分が何か原因かも?
と思って2つの設定プログラムの中を確認したところ
削除できないバージョンのelfinderフォルダ内に「files」フォルダが
無いことがわかりました。
elfinder_not-files.png
設定フォルダの不足
elfinder_not-files.png (27.3 KiB)

「files」フォルダだけアップしたのですが、それだけではうまくなかったので
elfinderフォルダごと、3.0.1p29に付属の内容に上書きしましたところ
無事削除が可能となりました。
ヒントを頂き感謝いたします。今後ともよろしくお願い申し上げます。
kamo
 
記事: 124
登録日時: 2009年3月25日(水) 15:44

Re: ファイルマネージャーからのファイル削除ができない

投稿記事by inunosinsi on 2018年4月17日(火) 05:16

差分を確認していただきありがとうございました。
filesディレクトリがなかったことでエラーというのは盲点でした。

私の環境では常に上書きなのと、テストで借りている環境ではまだelFinder周りのテストコードが後回しになっていて動作確認をしていません。
※テスト環境ではテストを行う度に自動でパッケージを最新版にします。

今回の連絡を受け、elFinderの公式サイトのファイルを確認しましたところ、
指定の箇所にfilesディレクトリがありました。

最新版も出ていましたので、
最新版も同梱したパッケージをダウンロードできるようにしておきます。
SOY CMSの操作に関する質問は下記のページのフォームで受け付けています。
https://saitodev.co/soycms/inquiry

京都でフリーのプログラマをしています。
SOY ShopのプラグインやSOY Appの開発のサポートをしています。
http://saitodev.co/soycms(SOY CMSのマニュアルを作成しています)

株式会社京都農販(SOY Shopのサイト)
株式会社コトブキ園(SOY Shop)
inunosinsi
 
記事: 683
登録日時: 2008年6月12日(木) 20:48

Re: ファイルマネージャーからのファイル削除ができない

投稿記事by kamo on 2018年4月17日(火) 11:43

inunosinsi 様

いつもご対応ありがとうございます、kamoです。
バージョンアップして頂いたelFinder 2.1.37の含むCMS一式を入れてみました。

しかし、なぜかまた、ファイルの削除が出来なくなってしまいました。
確かにフォルダ「files」は存在するのに
テストで画像をアップして削除しようとすると前と同じメッセージが表示されました。
「フォルダ "" を作成することができません。
ターゲットとするフォルダ "#t1_Lw" が見つかりません。」
-------------------
ほかにも変更箇所があるのかもしれません。
最初にフォルダがないことだけが原因かと
3.0.1p29付属のfilesだけをアップしたときも削除できなかったので
3.0.1p29付属のelFinderごと上書きしたら機能が使えるようになったので
なにか構造が違う箇所があるのかも・・・?

手元にあったバージョン(すべてSQlite用)で確認すると3.0.1p66付属elFinderには「files」フォルダなし
3.0.1p48付属elFinderには「files」フォルダありでこの中の構成要素が
3.0.1p29付属のものと同じだったので、
一旦前の3.0.1p29付属elFinder (2.1.30)一式で上書き、正常に削除可能を確認後、
3.0.1p48付属elFinderを更に上書き、こちらも正常に削除可能を確認しましたので
とりあえずこちらを利用させて頂くことにしました。

3.0.1p48付属elFinder(2.1.32)

なお、公式サイトから確認としてelFinder (2.1.37)を落としてファイルの中身をみたのですが
「files」には「.trash」フォルダと「.gitkeep」のみが含まれており3.0.1p71も同様でした。
3.0.1p48付属elFinder(3.0.1p29付属も同様)の「files」には
上のほか、「.quarantine」「.tmb」「ftp」「temp」の4つのフォルダ(中は空)がありました。

何か構造が変わったのかもしれませんね。
以上、ご報告いたします。いろいろお手数をお掛けいたし申し訳ございません。
今後とも、よろしくお願い申し上げます。
kamo
 
記事: 124
登録日時: 2009年3月25日(水) 15:44

Re: ファイルマネージャーからのファイル削除ができない

投稿記事by kamo on 2018年9月14日(金) 15:14

kamoです。4月に投稿したファイル削除の件ですが、
前は、過去versionのelFinderに上書きして対応したのですが、
解決策がわかりました。

https://github.com/Studio-42/elFinder/issues/2067
上記ページに
'Trash hash "t1_Lw" was not found or not writable.' error massage show.
と今回と同じエラー時の対応が記載されていて
The Trash function is enabled by setting trashHash of that volume to the hash of the destination volume's folder. Therefore, to invalidate do not specify the target volume setting trashHash or specify an empty value.
と記載されていましたので、
/soycms/js/elfinder/php/connector.phpの146行目を
//'trashHash' => 't1_Lw',
とコメント化したらファイルマネージャーでのファイルの削除が可能となりました。
ただ、有効にするとJSファイルなども削除できるので
利用は必要な場合になるかもしれません。
旧バージョンでファイル削除ができていたのもから
新しいversionに変更後
同じ問題に悩まれている方があれば参考にされてください。
kamo
 
記事: 124
登録日時: 2009年3月25日(水) 15:44

Re: ファイルマネージャーからのファイル削除ができない

投稿記事by inunosinsi on 2018年9月17日(月) 07:11

ありがとうございます。

trashHashというのはelfinder(ファイルマネージャ)にゴミ箱フォルダのようなものを作る機能なのですね。
Disable trash · Issue #2067 · Studio-42/elFinder · GitHub

サーバ環境によってtrashHashが使えない可能性がありそうなので、
標準設定で使用不可にして配布することにします
SOY CMSの操作に関する質問は下記のページのフォームで受け付けています。
https://saitodev.co/soycms/inquiry

京都でフリーのプログラマをしています。
SOY ShopのプラグインやSOY Appの開発のサポートをしています。
http://saitodev.co/soycms(SOY CMSのマニュアルを作成しています)

株式会社京都農販(SOY Shopのサイト)
株式会社コトブキ園(SOY Shop)
inunosinsi
 
記事: 683
登録日時: 2008年6月12日(木) 20:48


Return to バグ報告

オンラインデータ

このフォーラムを閲覧中のユーザー: なし & ゲスト[2人]

cron