web-dev-qa-db-ja.com

GetdirsizeのタイムアウトによるWordPress管理ダッシュボードの500エラーの解決方法

問題:ダッシュボードが表示されないブログがいくつかありました(他の管理ページはすべて表示されました)。 Googlingが関連するものを何も表示せず、調査するのが面倒すぎて(そしてログインして500エラーを表示してそれから[戻る]をクリックしてコメントをクリックすると解決できます)、私はしばらくの間この問題を残しました。私の心には.htaccessの変更、悪いRSSフィードを落とすプラグインなどがありました...しかし...それはコアでした。

それで今日私はdashboard.phpの中のすべての箇所をコメントアウトして行きました、そして残念なことに問題が一番下の行にあったのでそれはマーフィーでした...

add_action( 'activity_box_end', 'wp_dashboard_quota' );

私はその行にコメントしました

//$used = get_dirsize( BLOGUPLOADDIR ) / 1024 / 1024;
    // returns: 1418.9275159836
$used=0;

その後、私のダッシュボードはとても速くなったので、私は目に涙を流しました。

問題を探している人が時間を短縮し、その理由を認識してくれることを願っているので、これをここに記録します。特にコンボで:500と管理ダッシュボード。

質問:は、アップロードディレクトリのサイズが大きいほど、ダッシュボードの速度が遅くなるとブログで考えます。私はまたこれが中心のラインであるのでこれがそこにあらゆるブログのために起こると思う。

私はそれを修正して問題として記録できますか、それともばかげていますか。しばらくすると、クォータが多いすべてのマルチサイトブログで問題にならないような重要なものがないのですか。

今、私は500を接続して私が見つけたgetdirsize http://trac.mu.wordpress.org/ticket/1175 そして http://trac.mu.wordpress.org/changeset/2027 ......

そこで一時的なチェックがjames collinsによって実装されました。一時チェックはどうなりましたか?これで解決すると思います。

チケット2027で実装されている一時的なチェックはまだ行われており(下記の最悪の回答を参照)、クォータを完全に無効にすると500エラーも短縮されます。これはwp_dashboard_quotaでチェックされるものです。

だから:あなたはクォータを無効にしない場合、それはあなたが大きなクォータ制限を持っている場合は最終的に500エラーが発生することを意味します。私見は改善/発券できるかどうか?

1
edelwater

トランジェントは問題ありません。 get_dir_size() source を参照してください。

パフォーマンス上の大きな問題を引き起こすのに十分なファイルがある場合は、おそらくアップロード制限を無効にした方がよいでしょう。そうしないと、アップロードなどの他の関連機能が台無しになる可能性があります。

3
Rarst