共有Apache 2.2.14、PHP 5.3.2ホスト上で実行しているWordpress 4.0にメディアをアップロードしようとすると、「Missing a temporary folder」というエラーメッセージが表示されます。私は、ホストによって、そして私のhtml
フォルダーの外側でグローバルに管理されているphp.ini
には影響を与えません。
WP_TEMP_DIR
をwp-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-content
とwp-content/temp
の両方が777
権限を持っていることに注意してください。
それでも、うまくいきません。変更を加えるたびに、adminからログアウトしてログインし直します。サーバー自体を制御することはできないため、このフォルダの設定が適用されるかどうか、またいつ適用されるのかわかりません。
だから私の質問:
wp-config.php
の変更はすぐに影響を与えるでしょうか?使ってみる
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ファイルに。
そのメッセージは、phpエンジンがアップロードされたファイルをphpスクリプトで処理されるまで一時的に保存するディレクトリを見つけられなかったことを意味します。スクリプトが実行される前に発生しているので、phpコードを書くことでこれを解決できる可能性はほとんどありません。
あなたの.htaccessファイルのphp upload_tmp_dir設定を変更することができるかもしれませんが、たとえあなたがそれをハックすることができるかもしれないとしてもこれはサーバ設定問題であるのであなたはただサポートに連絡するべきです。
設定自体はすべて問題ありません。しかし、権利が問題になるかもしれません。 wp-content
の権利を777
に再帰的に変更します。これによりセキュリティ上の問題が発生する可能性があるため、誰がこのディレクトリにファイルにアクセスして書き込むことができるかには十分に注意する必要があります。
フォルダwp-admin
とwp-includes
の権利を777
に変更する必要があるかもしれません。お勧めしません。
私にとっては、3つすべてのフォルダーの権限を設定した後、アップロードは再び機能します。