0

サーバーでファイル アップロード スクリプトを使用する際に問題が発生しました。これは、PHP が Apache モジュールで実行されていたため、PHP を FastCGI として実行するように再構成したためであるという結論に達しました。

残念ながら、uploadify 経由でファイルをアップロードしようとすると、エラーが発生します。

警告: move_uploaded_file()[function.move-uploaded-file] open_base_dir 制限が有効です。ファイル (/var/www/vhosts/domain.com/uploads/filename.txt) は許可されたパス内にありません: (/var/www/vhosts/domain.com/httpdocs:/tmp) ... ..

次に、次のスクリプトの 32 行目を参照します。

move_uploaded_file($tempFile,$targetFile);

$tempFile は次のとおりです。

$tempFile = str_replace(" ","",$_FILES['Filedata']['tmp_name']);

vhost.confファイルをさまざまな方法で変更しようとしましたが、成功しませんでした-現在は次のようになっています

<Directory /var/www/vhosts/domain.com/httpdocs>
    <IfModule sapi_apache2.c>
            php_admin_flag engine off
            php_admin_flag safe_mode on
            php_admin_value open_basedir none
    <IfModule mod_php5.c>
            php_admin_flag engine on
            php_admin_flag safe_mode off
            php_admin_value open_basedir none
   </IfModule>
</Directory>

ぐるぐる回っているようです-tmpディレクトリが見つからないようです

4

1 に答える 1

1

それがあなたのサーバーであり、実際に構成をいじることができる場合は、php.ini で をオフにし、open_basedirPHP をリロードして、動作するかどうかを試すことができます。safe_modeこのオプションは問題を引き起こすだけなので、PHP ではデフォルトでオフにする必要があります。

または、次のことを試すことができます。

<Directory /var/www/vhosts/domain.com/httpdocs>
    php_admin_value open_basedir "/var/www/vhosts/domain.com/httpdocs/:/tmp/:/var/www/vhosts/domain.com/uploads/"
</Directory>

そこに構成を設定することにした場合は、php.ini にも同じことが適用できます。

于 2012-12-12T11:56:33.257 に答える