• Resolved saton

    (@saton)


    「Organize Media Library by Folders」プラグインが関係しての問題が何点か発生して困っています。
    助けてください。

    長くなりますが、問題点は以下に順を追って説明いたします。

    「Organize Media Library by Folders」プラグインには大変お世話になり、ありがたく活用させていただいております。
    先月にサイトをWordPress化した際、ギャラリーサイトへたくさんの過去画像をアップロードした際、思い通りにフォルダ整理が出来て大変助かりました。

    ところが、ここ2~3週間前頃からでしょうか。
    WordPress管理画面のメディア-ライブラリ画面に入るためにクリックしてからの応答時間が長く感じるようになりました。

    と同時に、画像を複数(7枚前後以上)選択して「フォルダ移動」や「削除」することができなくなりました。
    選択数を少なくしたり、最悪は1枚1枚削除や移動は出来たので、それでなんとかやりくりしていました。

    さらに、その頃より「debug.log」が膨大になる(最高で80GBほどになったことも)ようになりました。

    膨大になるときの内容は大多数が、

    PHP Warning:  feof() expects parameter 1 to be resource, bool given in????/wp-content/plugins/dynamic-watermark/protect_images/security-logic.php on line 43
    PHP Warning:  fread() expects parameter 1 to be resource, bool given in????/wp-content/plugins/dynamic-watermark/protect_images/security-logic.php on line 44

    の繰り返しでした。
    そのときはてっきり問題は別の画像用プラグイン「Dynamic Watermark」に問題があるものとばかりおもっていました。

    対処としては、「Dynamic Watermark」を一度削除した後に再インストールして有効化すると、しばらくは「debug.log」の発生がなかったり、あっても数KBレベルで済む期間がとれました。
    でも、何かの拍子にまたGB単位で増えるようになります。

    そのうちPHPのメモリや接続タイムアウトに関すると思われるエラーが毎回のように表示され、WordPress管理画面「メディア-ライブラリ」でのメディア操作ができなくなってしまいました。
    エラー内容は、
    ?PHP Fatal error: Allowed memory size of 134217728 bytes exhausted???
    ?PHP Fatal error: Maximum execution time of 120 seconds exceeded???
    ?PHP Fatal error: Allowed memory size of 134217728 bytes exhausted (tried to allocate 20480 bytes)
    ?PHP Warning: mysqli_query(): MySQL server has gone away???
    ?PHP Warning: mysqli_query(): Error reading result set’s header???

    そして先日、WordPressから「〇〇サイトで技術的な問題が発生しています」というメールも数通受け取っています。
    内容は次のとおりです。

    『
    WordPress 5.2から、サイトでプラグインやテーマが致命的なエラーを発生させた場合にそれを検知してこの自動メールでお知らせする機能が追加されました。
    今回の場合、WordPress がプラグイン Organize Media Library by Folders でエラーを捉えました。 
    まずはじめに、ご自分のサイト (https://〇〇〇〇/) を開き、目に見える問題がないか確認してください。次に、エラーが発生したページ (https://〇〇〇〇/wp-admin/upload.php) を開き、同様に問題がないか確認してください。
    この問題をさらに調査するにはサーバーホストに連絡してみてください。
    
    もしサイトが壊れていてダッシュボードに正常に接続できない場合、WordPress には特別な「リカバリーモード」があります。これによりダッシュボードに安全にログインし、さらに調査をすることができます。
    (リカバリーリンクあり)
    サイトを安全に保つため、このリンクは 1日 で有効期限が切れます。ですが、心配なく。有効期限後にこのエラーが再度発生すれば新しいリンクをお送りします。
    
    この問題を解決しようとする際、以下の情報を聞かれるかもしれません。
    WordPress バーション5.4.2
    現在のテーマ: diver_child (バージョン )
    現在のプラグイン: Organize Media Library by Folders (バージョン 6.52)
    PHP バージョン7.3.17
    
    エラー詳細
    ===============
    エラータイプ E_ERROR が /???〇〇〇〇/wp-content/plugins/organize-media-library/lib/class-organizemedialibrary.php ファイルの 267 行目で発生しました。 エラーメッセージ: Maximum execution time of 120 seconds exceeded
    』

    これを受けてホストサーバであるロリポップへも問い合わせを行いました。
    PHPの設定についてやmysqlについてのアドバイスもいただきましたが、
    Maximum execution time~のエラーについては、
    『「organize-media-library」の影響により、該当のエラーが発生しているようでございました。
    このような場合、該当のプラグインを停止するか、
    プラグインのデータが保存されているフォルダを無効化することにより、エラーが解消するかと思います。』

    とのことでした。

    直感的に、本番サイトでこの作業をすることが怖くでできなかったので、バックアップからローカル環境へ復元させて確認作業をしようと思いました。

    ですが、バックアップはともかく、復元にてこずりました。
    色々やって、最終的にはDuplicatorメインで復元し、UpdraftPlusのバックアップからupload画像を取り込み形でなんとか動作するローカル環境がつくれました。

    1)そのままのセッティングでWordPress管理画面「メディア-ライブラリ」でのメディア操作ができるかどうか確認
    結果:表示に時間はかかりましたが、表示ページは最後まで表示され、フォルダ絞り込み操作もできました。

    2)「organize-media-library」を無効化してみました。
    結果:WordPress管理画面「メディア-ライブラリ」上の操作が明らかに高速になりました。

    3)再有効化
    結果:明らかに読み込みが遅くなりました。が開ききりました。
    実は、以前に無効→有効操作で「作成フォルダがリストに表示されなくなった」経験があり心配していたのですが大丈夫でした。

    4)「organize-media-library」をWordPress管理画面から削除
    結果:削除が出来ませんでした。

    プラグイン管理画面上部には
    『削除に失敗しました:サイトに重大なエラーがありました。WordPressでのデバッグをさらに詳しく見る。』
    の表示です。

    そのときのdebug.logでは

    [15-Jul-2020 06:07:06 UTC] PHP Warning:  array_map(): Expected parameter 2 to be an array, null given in X:\xampp\htdocs\〇〇〇〇\wp-includes\taxonomy.php on line 1867
    [15-Jul-2020 06:07:06 UTC] PHP Warning:  count(): Parameter must be an array or an object that implements Countable in X:\xampp\htdocs\〇〇〇〇\wp-includes\taxonomy.php on line 1859
    [15-Jul-2020 06:07:06 UTC] PHP Warning:  array_diff(): Expected parameter 1 to be an array, object given in X:\xampp\htdocs\〇〇〇〇\wp-includes\taxonomy.php on line 1862
    [15-Jul-2020 06:07:06 UTC] PHP Fatal error:  Maximum execution time of 120 seconds exceeded in X:\xampp\htdocs\〇〇〇〇\wp-includes\taxonomy.php on line 1862

    が連続していました。

    5)「organize-media-library」を強制削除
    WP管理画面から削除が出来ないので、一旦ローカルサーバー(xampp)をstopして、
    wp-content/plugins内の「organize-media-library」フォルダを別の場所へ退避させて、サーバー再起動しローカルサイトを起動させると、起動しました。
    管理画面でも普通に操作できた(ように感じました)のでプラグインを再インストールしてみました。

    6)「organize-media-library」を再有効化
    再インストールはできた(ように感じた)のですが、それを有効化しようとボタンを押したら、そこから管理画面上部へのエラー表示のオンパレードでした。
    そのあたりでのdebug.log内容を貼っておきます。

    『
    [15-Jul-2020 06:26:46 UTC] PHP Warning:  mysqli_query(): MySQL server has gone away in X:\xampp\htdocs\〇〇〇〇\wp-includes\wp-db.php on line 2024
    [15-Jul-2020 06:26:46 UTC] PHP Warning:  mysqli_query(): Error reading result set's header in X:\xampp\htdocs\〇〇〇〇\wp-includes\wp-db.php on line 2024
    [15-Jul-2020 06:26:46 UTC] PHP Warning:  mysqli_query(): MySQL server has gone away in X:\xampp\htdocs\〇〇〇〇\wp-includes\wp-db.php on line 2024
    [15-Jul-2020 06:26:46 UTC] PHP Warning:  mysqli_query(): Error reading result set's header in X:\xampp\htdocs\〇〇〇〇\wp-includes\wp-db.php on line 2024
    [15-Jul-2020 06:26:46 UTC] WordPress データベースエラー: MySQL server has gone away for query INSERT INTO <code>wpph_usermeta</code> (<code>user_id</code>, <code>meta_key</code>, <code>meta_value</code>) VALUES (1, 'wpph_organizemedialibrary', 'a:4:{s:4:\"dirs\";s:1883553:\"{\"18450\":\"E:/xampp/htdocs/backup01serverm/photogallery/wp-content/uploads\\ps_auto_sitemap\",\"18449\":\"E:/xampp/htdocs/backup01serverm/photogallery/wp-content/uploads\\cache\\remote\\s3-amazonaws-com\",\"18448\":\"E:/xampp/htdocs/backup01serverm/photogallery/wp-content/uploads\\cache\\remote\",\"18447\":\"E:/xampp/htd
     ???以下、延々と同様なのが3MB分ほど続きます????
    [15-Jul-2020 06:30:58 UTC] PHP Warning:  Cannot modify header information - headers already sent by (output started at X:\xampp\htdocs\〇〇〇〇\wp-includes\wp-db.php:1491) in X:\xampp\htdocs\〇〇〇〇\wp-admin\includes\misc.php on line 1282
    [15-Jul-2020 06:30:58 UTC] PHP Warning:  Cannot modify header information - headers already sent by (output started at X:\xampp\htdocs\〇〇〇〇\wp-includes\wp-db.php:1491) in X:\xampp\htdocs\〇〇〇〇\wp-admin\admin-header.php on line 9
    』 

    こんな感じでdebug.log内容と同様のエラー内容が、管理画面上部が埋め尽くされ、
    その上管理用サイドメニューも表示されないのでお手上げ状態になりました。
    ちなみに、その時点で通常サイト表示と操作は問題なかったです。

    ログインした管理画面だけはめちゃくちゃでした。

    7)データベースのみバックアップから復元
    その後、データベースのみ別のバックアップをインポートして管理画面を立ち上げてみると、問題なく操作できました。

    8)テーマとプラグインを無効化
    テーマを「Diver」からデフォルトテーマ「Twenty Twenty」へ切り替え、プラグインは全て無効化しました。

    【使用していた全プラグイン】
    ?BackWPup:バージョン 3.7.1
    ?Classic Editor:バージョン 1.5
    ?Duplicator:バージョン 1.3.36
    ?Dynamic Watermark:バージョン 1.2.0
    ?Extend Media Upload:バージョン 2.00
    ?FooBox Image Lightbox:バージョン 2.7.11
    ?FooGallery:バージョン 1.9.25
    ?Google XML Sitemaps:バージョン 4.1.0
    ?Invisible reCaptcha:バージョン 1.2.3
    ?Organize Media Library by Folders:バージョン 6.52
    ?PS Auto Sitemap:バージョン 1.1.9:有効
    ?SiteGuard WP Plugin:バージョン 1.5.0
    ?UpdraftPlus – バックアップ/復元:バージョン 1.16.26
    ?WebSub/PubSubHubbub:バージョン 3.0.3

    その後、問題の「Organize Media Library by Folders」のみ削除を試みましたが、上記同様に管理画面上からは削除できません。
    仕方なく、こんどは強制削除はせず、そのまま再有効化を試みましたが、これも上記同様のエラー連発で管理画面操作不能になりました。

    まだ本番サイトでは何もためしていません。
    このままでは「Organize Media Library by Folders」プラグインの操作は怖くてできません。
    でも何とかしないとWordPress管理画面のメディア-ライブラリ上の操作が出来ません。

    解決法などアドバイスいただけるとありがたいです、大変助かります。
    どうか、よろしくお願いいたします。

    (その他関連バージョン)
    WordPressバージョン:5.4.2–ja
    サーバー:ロリポップスタンダード
    PHPバージョン:7.3(モジュール)
    データベースバージョン:MySQL5.6

    The page I need help with: [log in to see the link]

Viewing 15 replies - 1 through 15 (of 43 total)
  • Plugin Author Katsushi Kawamori

    (@katsushi-kawamori)

    いろいろと細かな報告ありがとうございます。

    Windows の Xampp 上での動作は確認しておりません。パスの取得の部分で問題が出ていると思われます。そちらの問題とは、ロリポップ上のサーバーの問題とは違うと思われますので切り分けた方が良いかと思われます。

    >> 実は、以前に無効→有効操作で「作成フォルダがリストに表示されなくなった」経験があり心配していたのですが大丈夫でした。
    これは、普通に起きます。「フォルダー設定」?>「フォルダーを作成」でフィールドを空白にして「保存」で、解決します。

    以下、「Organize Media Library by Folders」を OML と記します。
    簡単にいいますと、OML が生成したメディアライブラリのフォルダーツリー情報を、取得できずにメディアライブラリの画面がクラッシュしています。
    メディアライブラリや、メディアには問題はないと思われますのでプラグインを停止しても大丈夫です。
    まずは、OML プラグインのフォルダー名を FTP などで変更してから、ログインし、プラグイン画面に入って、OML 削除できます。削除しても、メディアやコンテンツには問題ありません。
    OML を止めても、「Extend Media Upload」で、アップロード時のフォルダー分けは問題なくできるはずです。

    フォルダーの数は、どのくらいですか?そのあたりが、トラブルの原因だと思われますので、お知らせいただけるとありがたいです。

    ロリポップでターミナルが使用できるのならば、
    wp-content/uploads ディレクトリで、
    以下のコマンドを実行するとフォルダー数が出ます。
    find ./ -type d | wc -l

    Windowsのローカル環境にデータが移行してあれば、
    wp-content/uploads フォルダーを右クリックするとフォルダー数が出るはずです。

    他のプラグインが、wp-content/uploads フォルダー以下に大量のフォルダーを生成している場合には、そのフォルダーを「フォルダー設定」?>「除外フォルダー」で指定するとエラーがおさまるかもしれません。

    Thread Starter saton

    (@saton)

    ありがとうございます。

    >>Xampp 上での動作で、パスの取得の部分での問題
    があるのですね。別問題の件も承知しました。

    >>「フォルダー設定」?>「フォルダーを作成」でフィールドを空白にして「保存」の件
    ありがとうございます。

    >>メディアには問題はないと思われますのでプラグインを停止しても大丈夫です。
    確かに「無効化」しても「削除」によりエラーが出ていても、サイト表示は普通に表示されているように感じました。

    >>OML プラグインのフォルダー名を変更してからOML 削除の件
    ありがとうございます。やってみます。
    ですが、やっぱり本番サーバー上でいきなりは怖いので、ローカルのデータベースをセットし直してこれからやってみます。

    >>フォルダーの数は、どのくらいですか?そのあたりが、トラブルの原因だと思われますので、お知らせいただけるとありがたいです。

    「ロリポップでターミナル使用」とは何か、をこれから調べないとわからないレベルです…

    ローカル環境へのフォルダ移植が完全かどうかは、正直怪しいところですが、現在の「wp-content/uploads フォルダー」を右クリックで確認したところ、
    『ファイル数: 75,730、フォルダー数: 18,451』
    でした。
    ちなみにサイズ:2.67 GB (2,877,029,841 バイト)、ディスク上のサイズ:2.82 GB (3,031,367,680 バイト)です。

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

    >>他のプラグインが、wp-content/uploads フォルダー以下に大量のフォルダーを生成している場合
    確かに「uploadsフォルダ直下」に、私自身が作成していないフォルダが3つあります。
    1)backwpup-da707b-temp
    内容:ファイル数: 3、フォルダー数: 0
    2)cache
    内容:ファイル数: 18,778、フォルダー数: 18,242
     サイズ:395 MB (415,048,335 バイト)、ディスク上のサイズ:432 MB (453,619,712 バイト)
    3)ps_auto_sitemap
    内容:ファイル数: 0、フォルダー数: 0

    >>そのフォルダーを「フォルダー設定」?>「除外フォルダー」で指定するとエラーがおさまるかもしれません。の件

    「cache」フォルダを除外設定もやってみます。
    やっぱりローカルでの確認から進めます。

    何が何やら状態でしたので助かります、ありがとうございます。
    よろしくお願いいたします。

    Plugin Author Katsushi Kawamori

    (@katsushi-kawamori)

    cacheフォルダーを除外フォルダにしてから、
    「フォルダー設定」?>「フォルダーを作成」でフィールドを空白にして「保存」で、いけると思います。

    Thread Starter saton

    (@saton)

    2つほどローカルで確認したので報告です。

    1)大量のフォルダーが生成されている「cache」フォルダを「フォルダー設定」?>「除外フォルダー」で指定
    指定して保存と問題なくできました。
    ですがこれによる影響でエラーの有無の変化はありませんでした。

    その後、管理画面の「メディア」をクリックして画面立ち上がりを確認しましたが、やはり応答時間が長いままでした。
    一応応答時間(「メディア」クリック後に画面が切り替わってページ表示完了までの時間)を測ってみました。

    ?OML有効:63秒~65秒(何度やりなおしても同じでした)
    ?OML無効:3秒~4秒(何度やりなおしても同じでした)

    ローカルではどちらも特にエラーは出なかったです。
    ですがサーバー上でやることを考えると、もう少し時間が長くなると思われますので、
    やはりPHPのメモリや接続タイムアウトに関するようなエラーは発生するように思います。

    2)OML プラグインのフォルダー名を FTP などで変更してから、ログインし、プラグイン画面に入って、OML 削除

    このとおりやってみましたが、削除できませんでした。
    上記と全く同様なエラー表記
    『削除に失敗しました:サイトに重大なエラーがありました。WordPressでのデバッグをさらに詳しく見る。』
    がプラグイン管理画面上部に現れて削除も出来ていませんでした。

    一応削除失敗時たくさん生成されたエラーlogからいくつか載せておきます。

    [16-Jul-2020 03:24:18 UTC] PHP Notice:  Trying to get property 'object_type' of non-object in X:\xampp\htdocs\〇〇〇〇\wp-includes\taxonomy.php on line 1873
    [16-Jul-2020 03:24:18 UTC] PHP Warning:  Invalid argument supplied for foreach() in X:\xampp\htdocs\〇〇〇〇\wp-includes\taxonomy.php on line 1873
    [16-Jul-2020 03:24:18 UTC] PHP Warning:  count(): Parameter must be an array or an object that implements Countable in X:\xampp\htdocs\〇〇〇〇\wp-includes\taxonomy.php on line 1859
    [16-Jul-2020 03:24:18 UTC] PHP Warning:  array_diff(): Expected parameter 1 to be an array, object given in X:\xampp\htdocs\〇〇〇〇\wp-includes\taxonomy.php on line 1862
    [16-Jul-2020 03:24:18 UTC] PHP Warning:  array_map(): Expected parameter 2 to be an array, null given in X:\xampp\htdocs\〇〇〇〇\wp-includes\taxonomy.php on line 1867
    ????以下同様なエラーが2.37MB分連続????
    [16-Jul-2020 03:26:15 UTC] PHP Fatal error:  Maximum execution time of 120 seconds exceeded in X:\xampp\htdocs\〇〇〇〇\wp-includes\taxonomy.php on line 1867

    以上確認報告です。

    何卒よろしくお願いいたします。

    Thread Starter saton

    (@saton)

    Kawamori様のコメントを確認するのと、私の投稿のタイミングがすれ違いになりました。

    『cacheフォルダーを除外フォルダにした後に、すぐ「フォルダー設定」?>「フォルダーを作成」でフィールドを空白での「保存」』

    は、まんまその手順で行いましたこと、追記いたします。

    Plugin Author Katsushi Kawamori

    (@katsushi-kawamori)

    除外フォルダーにしても、18,242のフォルダーを読みにいっていいるので、それで時間がかかり、メディアライブラリの画面がクラッシュするかもしれません。繰り返しますが、メディアライブラリもメディアも壊れていません。ご安心ください。18,242 のフォルダーツリーのせいでクラッシュしているだけです。

    1.全プラグイン停止
    2.cache フォルダー全削除

    で、上手く動作すると思います。
    cache フォルダーを作成するプラグインを探して、そこからキャッシュを作成するのを止めて、キャッシュを削除するのが安全かもしれませんが、わからなければ、全プラグインを止めて、cache フォルダーを全削除で良いと思います。
    プラグインを1つづつ有効化していった時に、cache フォルダーを作成するプラグインからメッセージがあるかもしれません。
    18,242 のフォルダーを作成するようなプラグインは私なら使いません。

    Plugin Author Katsushi Kawamori

    (@katsushi-kawamori)

    アンインストールですが、organize-media-library フォルダ直下の、
    uninstall.php を削除してから、アンインストールするとできると思います。

    Thread Starter saton

    (@saton)

    アドバイスありがとうございます。

    まず、18242もの生成フォルダについてわかったこと等を報告します。

    cacheフォルダの中身をみていくと、アップロード画像1枚に対して一つのフォルダが生成されているようです。
    具体的には次のとおりです。

    私が実際にメディアフォルダを作成してアップロードした画像が
    /wp-content/uploads/2020/02/20200211075947.jpg
    だとすると、
    /wp-content/uploads/cache/2020/02/20200211075947/3926822923.jpg
    というファイルがフォルダとセットに生成されているようです。

    全てが(実際に全数確認した訳ではありませんが)、
    『cacheフォルダ内に『ファイル名と全く同じ名称のフォルダ』が生成。
    直下に、別名『10桁数字のファイル名』画像ファイルが1枚生成。』
    の法則でした。

    まだcacheフォルダの削除はしていません。
    理由は、おそらくcacheフォルダを生成しているプラグインが
    FooGallery
    という画像ギャラリープラグインだと思われるからです。
    (検証はこれからですが)

    そして、本件の問題がおきている方の私のサイトが
    「フォトギャラリー専門のWordPressサイト」でして…
    FooGalleryプラグインありきで作ったようなサイトなのです。

    プラグインを無効にするだけで、全ての画像ギャラリーが消えて、
    全てのページが[foogallery id=”00000″]というショートコード表記ページに置き換わってしまいます。

    何故FooGalleryプラグインだと思ったかというと、

    ?上記のフォルダとファイルの生成のされ方
    ?18242という数が実際のアップロード画像数(WPが自動生成するサムネイル除く)とほぼ一致
    ?同じドメイン内で動かしている別のWordPressサイトではcacheフォルダは生成されていません。
     2つのサイトを比較して、本件のサイトにだけ入れているプラグインがFooGalleryだから。
    の3点です。

    アドバイスいただいたように、FooGalleryプラグインにcavhe生成を止める設定があればいいのですが、設定が全て英語ということもあってわかりにくく、出来るか出来ないかも直ぐにはわかりませんでした。
    googole先生に教わりながら調べてみます。

    cache生成のストップ設定が出来なければ…

    もしcache自動生成するのがFooGallery確定だとしたら、やめた方がいいということですよね??
    画像はこれからまだまだ増え続ける予定ですし。

    そうなると、ちょっと大変です…

    ひとまずご一報までということで、不明点などこれから確認します。

    Thread Starter saton

    (@saton)

    organize-media-library フォルダ直下のuninstall.php を削除してからアンインストールすると、エラーもなくスムーズにアンインストールできました!

    その後、再インストールしてみたところ、これまでのようにエラーが出ることなく完了し、有効化もすんなりできました。ありがとうございます。

    ちなみに、エラー無しで削除?再インストール?有効化したら、応答時間の問題が少しでもマシになるかと期待してのですが、やはりOML有効化状態でメディア画面を開きに行くと1分以上の待ち時間になりました。
    (開くのは開きますし、フォルダ絞り込み動作も大丈夫でした)

    以上ご報告まで

    Thread Starter saton

    (@saton)

    お世話になっております。

    cacheフォルダを生成するプラグインはどれか?
    という方向で調べても、私の力量では調べられませんでした。

    結局アドバイスいただいたとおり

    1.全プラグイン停止
    2.cache フォルダー全削除

    しました。

    その後、
    疑っていたFooGalleryプラグインだけ有効

    Chromeブラウザでギャラリーページを立ち上げ

    ブラウザf12で「キャッシュ消去とハード再読み込み」

    をした瞬間に、cacheフォルダが生成されました。

    中身は、立ち上げたページで使用されている画像とそれに伴ったフォルダでしたので、このプラグインが犯人確定です。

    その後、またcacheを消去し、
    FooGalleryプラグイン設定項目で関連してそうな項目を一つ一つon/off

    動作確認

    cache消去

    を繰り返しで10項目ほど試した気がしますが、
    その度にいちいちcacheフォルダが生成されてしまいました。

    ということで、FooGalleryプラグインを使用する限り、
    cacheへ生成される膨大なフォルダと付き合う必要があるようです。
    (このプラグイン使用をやめることも真剣に考えます)

    では、FooGalleryプラグインを使用しなければ問題解決なのか?
    といえば、
    それは違うようです。

    WordPress管理画面のメディアライブラリ起動応答時間の問題です。

    cache フォルダーは全削除により存在しない状態で、
    プラグイン画面から左サイドメニュー上部の「メディア-ライブラリ」をクリックし、
    起動するのに要した時間を測りました。

    全プラグイン停止状態での結果は2秒~3秒
    対して
    プラグインをOrganize Media Library by Foldersのみ有効にした状態の結果は40秒~43秒
    でした。(ちなみにExtend Media Uploadのみ追加有効した場合も同様)

    ※もちろんOML有効化直後に「フォルダー作成を空白で保存」は実行しました。

    その際のuploadsフォルダ内情報は、

    ?ファイル数: 56,952、フォルダー数: 208
    ?サイズ:2.29 GB (2,461,981,803 バイト)
    ?ディスク上のサイズ:2.40 GB (2,577,747,968 バイト)

    でした。

    報告は以上です。

    他のプラグインは何も有効になっていない状態で、
    しかもローカル環境で40秒以上というのはやっぱり長いと思います。

    どうか改善法アドバイスよろしくお願いいたします

    Thread Starter saton

    (@saton)

    【 画像を『選択したフォルダに移動する』が出来ない 】

    本トピックとは別件のような気も一見しますが、動作に関連があると感じたので追記します。

    現状では動作が重く、ここしばらくは
    「画像を別のフォルダへ移動させる」
    などの作業をしていなかったこともあって「気になっていたのにスルー」
    にしてたことが一つあります。

    それは、メディアライブラリ画面を「リスト表示」させた際、
    並んだ各画像の行の右はしにあるドロップダウン(フォルダ)リストと、その最上部の「一括選択」ドロップダウンリストが空白で、ドロップダウンさせても何もあらわれません。

    フォルダ移動させたい画像があっても、移動先のフォルダが選べないので移動はできません。

    ちなみに、画面最上部2段めにならんだ
    「すべてのメディア」「すべての日付」「すべてのフォルダー」「絞り込み」
    の項うちの「すべてのフォルダー」はドロップダウンリストにフォルダが現れるので、フォルダの絞り込みは出来ます。

    これまで「フォルダの絞り込み」動作確認はしてましたが、画像のフォルダ移動確認はしてませんでした。

    ——–
    実は、ローカルのテスト環境として新たに
    まっさらのデータベースにまっさらのWordPressをセットして立ちあげました。

    そこへ最小限の画像をアップロードして、動作確認やギャラリー検討をするためです。

    テーマはデフォルトの「Twenty Twenty」
    プラグインはこの2つ
    Extend Media Upload
    Organize Media Library by Folders
    だけを最新バージョンでインストールしました。

    そしてフォルダ分け確認しながら10枚ほどの画像をアップ。
    次に4枚の画像をアップして「別のフォルダへ移動」
    確認をしようとしたところ、
    この段階では「絞り込み」ボタン横も各画像右端のドロップダウンリストも「空白」でなにも選べません。
    フォルダー設定の空白保存や、無効?有効を繰り返してみましたが何度やっても変わりませんでした。

    そこでフト、バージョンダウンしたらどうなるのかと思いました。

    OMLをWPからアンインストールした後、
    ダウンロードして保存してあった前バージョン「organize-media-library.6.51.zip」
    を解凍しpluginsフォルダ内にセット。

    そしてWordPressを起動しプラグインの有効化と空白保存と一連のセットアップを行ってらメディアライブラリページへいくと、
    ドロップダウンリストにフォルダ情報がちゃんとあり、絞り込みもフォルダ移動も全て、以前と同じように操作ができました。

    その後、WordPress管理画面上でOMLのバージョン更新を行い、一連のセットを行ってからメディアライブラリページへいくと、
    「絞り込み」ボタン横のドロップダウンリストにはフォルダ情報がありって選択もできましたが、
    各画像右端のドロップダウンリストは全滅で空白になってました。

    以上の状況報告が改善のお役にたてばいいのですが。

    あと、一応起動応答時間も測っておきました。
    OMLプラグイン停止状態での結果は1秒弱
    OMLプラグイン有効状態での結果は2秒といったところです。

    その際のuploadsフォルダ内情報は、
    ?ファイル数: 84、フォルダー数: 5
    ?サイズ:.38 MB (3,548,002 バイト)
    ?ディスク上のサイズ:3.53 MB (3,706,880 バイト)

    でした。

    一方、uploadsフォルダ内情報がファイル数: 56,952、フォルダー数: 208の方のWordPressローカル環境の方も
    OMLのバージョンダウンさせてみたところ、同様にドロップダウンリスト内フォルダが全て表示され選択できました。
    ただし、画面表示までの待機時間は65秒とバージョン変更前と同じでした。

    以上です。よろしくお願いいたします。

    • This reply was modified 4 years, 4 months ago by Jan Dembowski.
    • This reply was modified 4 years, 4 months ago by saton. Reason: 脱字編集など
    Plugin Author Katsushi Kawamori

    (@katsushi-kawamori)

    いろいろとありがとうございます。
    最新バージョンで様々な問題を修正しました。

    Thread Starter saton

    (@saton)

    こちらこそありがとうございます。
    対応いただけてとても感謝しています。

    最新バージョン7.04に更新して、下記3つの環境で動作確認いたしました。

    結果ですが、とても残念なことに…
    3環境とも全てフォルダ操作できませんでした。
    「メディアライブラリ」画面で、3つのドロップダウンリストが空白表示される現象です。

    3つのドロップダウンリストとは、
    ?「全てのフォルダ」絞り込み
    ?フォルダー「一括選択」
    ?各画像右端の各フォルダー選択ドロップダウンリスト
    のことです。

    確認した環境は、いづれもローカル環境で詳細は次のとおりです。

    1)FooGalleryプラグイン有りWordPressギャラリーサイト
    (本番サーバーよりバックアップしたギャラリーサイト)
    uploadsフォルダ内ファイル数: 57,022、フォルダー数: 208
    ※サーバーの本番環境から本日Duplicatorでバックアップ-復元し直しました。
    cacheフォルダは復元していません。

    2)FooGalleryプラグイン無しWordPress記事サイト
    (本番サーバーよりバックアップ復元した記事メインサイト)
    uploadsフォルダ内ファイル数: 8,795、フォルダー数: 14

    3)先日ゼロから立ち上げたテスト環境
    4プラグイン(Classic Editor、Extend Media Upload、FooBox Image Lightbox、Organize Media Library by Folders)のみ
    uploadsフォルダ内ファイル数: 84、フォルダー数: 5

    ただし、1)の画像多数の環境では、プラグイン更新完了後に「フォルダ設定」メニューをクリックした段階でエラー多数でクラッシュします。
    エラー内容は

    Warning: count(): Parameter must be an array or an object that implements Countable in X:\xampp\htdocs\backup01serverm\photogallery\wp-includes\taxonomy.php on line 1859
    Warning: array_diff(): Expected parameter 1 to be an array, object given in X:\xampp\htdocs\backup01serverm\photogallery\wp-includes\taxonomy.php on line 1862
    Warning: array_map(): Expected parameter 2 to be an array, null given in X:\xampp\htdocs\backup01serverm\photogallery\wp-includes\taxonomy.php on line 1867
    ???繰り返し???
    Notice: Trying to get property 'object_type' of non-object in X:\xampp\htdocs\backup01serverm\photogallery\wp-includes\taxonomy.php on line 1873
    Warning: Invalid argument supplied for foreach() in X:\xampp\htdocs\backup01serverm\photogallery\wp-includes\taxonomy.php on line 1873
    Notice: Trying to get property 'object_type' of non-object in X:\xampp\htdocs\backup01serverm\photogallery\wp-includes\taxonomy.php on line 1873
    Warning: Invalid argument supplied for foreach() in X:\xampp\htdocs\backup01serverm\photogallery\wp-includes\taxonomy.php on line 1873
    Fatal error: Maximum execution time of 120 seconds exceeded in X:\xampp\htdocs\backup01serverm\photogallery\wp-includes\wp-db.php on line 2024
    サイトに重大なエラーがありました。 詳細については、サイト管理者のメール受信ボックスを確認してください。

    で管理画面に入れなくなります。

    2)3)に関しても、更新後上記エラーが2)は12330行ほど、3)は77行ほど続き、
    最後に

    PHP Warning:  Cannot modify header information - headers already sent by (output started at X:\xampp\htdocs\test100wp\wp-includes\taxonomy.php:1859) in X:\xampp\htdocs\test100wp\wp-admin\includes\misc.php on line 1282
    PHP Warning:  Cannot modify header information - headers already sent by (output started at X:\xampp\htdocs\test100wp\wp-includes\taxonomy.php:1859) in X:\xampp\htdocs\test100wp\wp-admin\admin-header.php on line 9

    が管理画面上部に表示されました。
    2)3)が1)と違うのは、そこからキャッシュクリアなどで管理画面に入って操作を続けることができたことです。

    その状態で操作を行い、何度か「空白保存」やキャッシュクリアを繰り返してみましたが、フォルダ操作だけはできなかったので、プラグインを「無効」-「削除」して旧6.51バージョンに戻しました。

    6.51バージョンに戻すと、全てのフォルダ操作が出来ることを確認しました。
    その後再トライしましたが同様の結果になります。

    1)だけは管理画面に入れないので、データベースを直前のバックアップに復元して再トライしてみましたがこちらも同じ現象です。

    とても残念です。
    改善の手がかりがここにあればいいのですが…

    以上ご報告です。

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

    • This reply was modified 4 years, 4 months ago by saton. Reason: 脱字編集など
    • This reply was modified 4 years, 4 months ago by saton.
    Plugin Author Katsushi Kawamori

    (@katsushi-kawamori)

    ローカル環境は、PHP のバージョンとか、いろいろと入っていないライブラリーとかある場合があり、トラブルが起きる場合があります。

    /lib/class-organizemedialibraryadmin.php の
    389行をコメントアウトすると、エラーはでなくなると思います。

    foreach ( $wp_terms as $value ) {
    	wp_delete_term( $value->term_id, 'media_folder' );
    }

    foreach ( $wp_terms as $value ) {
    	// wp_delete_term( $value->term_id, 'media_folder' );
    }

    これは、Ver7 以前のタクソノミーを削除する処理です。
    エラーは、wp-includes/taxonomy.php から出ていますが、関数 wp_delete_term からです。

    これだけでも動くと思いますが、以前のデータ(メディアでは無く、プラグインやWordPress用のデータ)を削除はしません。

    Plugin Author Katsushi Kawamori

    (@katsushi-kawamori)

    最新バージョン 7.05 では、前記の事をしなくても動作すると思います。
    ローカル環境では、7.04 以前のものを削除する際に、uninstall.php を削除してください。
    また、ブラウザのキャッシュを削除するのをお忘れなく。

Viewing 15 replies - 1 through 15 (of 43 total)
  • The topic ‘メディアライブラリフォルダで致命的エラー!削除も不能’ is closed to new replies.