web-dev-qa-db-ja.com

Wp-config.phpの設定にもかからず一時フォルダが見つけられない

共有Apache 2.2.14、PHP 5.3.2ホスト上で実行しているWordpress 4.0にメディアをアップロードしようとすると、「Missing a temporary folder」というエラーメッセージが表示されます。私は、ホストによって、そして私のhtmlフォルダーの外側でグローバルに管理されているphp.iniには影響を与えません。

WP_TEMP_DIRwp-config.phpに設定します。これはこのファイルの関連部分です:

if ( !defined('ABSPATH') )
    define('ABSPATH', dirname(__FILE__) . '/');
require_once(ABSPATH . 'wp-settings.php');
define('WP_TEMP_DIR', ABSPATH . 'wp-content/temp/');

私はまた他のバリエーションを試してみました。

define('WP_TEMP_DIR', '/www/wp-content/temp/'); // absolute path

そして:

define('WP_TEMP_DIR', 'wp-content/temp/');

フォルダwp-contentwp-content/tempの両方が777権限を持っていることに注意してください。

それでも、うまくいきません。変更を加えるたびに、adminからログアウトしてログインし直します。サーバー自体を制御することはできないため、このフォルダの設定が適用されるかどうか、またいつ適用されるのかわかりません。

だから私の質問:

  1. wp-config.phpの変更はすぐに影響を与えるでしょうか?
  2. 管理ページのエラーメッセージだけではなく、Wordpress内でより多くのフィードバックを得ることができますか。どうすればこのエラーをデバッグできますか?
  3. この問題の原因と共有ホスティング環境(コンソールなし、FTPとWP admin)内でそれを解決する方法について他に何か考えがありますか?
4
mcbetz

使ってみる

get_temp_dir() 

wordPressがあなたのWP_TEMP_DIR定数を使用しているかどうかを確認する。

私はwp-config.phpでこのコードを試してみました、そしてそれは働きます

define('WP_TEMP_DIR', dirname(__FILE__) . '/wp-content/temp/');

しかし、あなたはそれを前に置かなければなりません

/* That's all, stop editing! Happy blogging. */

あなたのwp-config.phpファイルに。

10
angoru

そのメッセージは、phpエンジンがアップロードされたファイルをphpスクリプトで処理されるまで一時的に保存するディレクトリを見つけられなかったことを意味します。スクリプトが実行される前に発生しているので、phpコードを書くことでこれを解決できる可能性はほとんどありません。

あなたの.htaccessファイルのphp upload_tmp_dir設定を変更することができるかもしれませんが、たとえあなたがそれをハックすることができるかもしれないとしてもこれはサーバ設定問題であるのであなたはただサポートに連絡するべきです。

2
Mark Kaplun

設定自体はすべて問題ありません。しかし、権利が問題になるかもしれません。 wp-contentの権利を777に再帰的に変更します。これによりセキュリティ上の問題が発生する可能性があるため、誰がこのディレクトリにファイルにアクセスして書き込むことができるかには十分に注意する必要があります。

フォルダwp-adminwp-includesの権利を777に変更する必要があるかもしれません。お勧めしません。

私にとっては、3つすべてのフォルダーの権限を設定した後、アップロードは再び機能します。

0
mcbetz