0

ファイルを apache public_html ディレクトリにアップロードしようとしています。いくつかのドメインとサブドメインを持つ VPS で実行されている仮想ホスティング環境にいることは言及する価値があると思います。

通常、XAMPP サーバーではファイルを一時フォルダーにロードするのに問題はありませんが、新しいサーバーではアップロードしようとするとエラーが発生することはありません。

スーパーグローバル $_FILES をチェックしたところ、次のエラーが表示されました。

array(1) { ["file"]=> array(5) { ["name"]=> string(9) "test.gif" ["type"]=> string(0) "" ["tmp_name"]=> string(0) "" ["error"]=> int(1) ["size"]=> int(0) } }

get_init('/tmp') を使用してサーバーに tmp フォルダーを設定しようとしましたが、成功しませんでした。

ご清聴ありがとうございました。

4

1 に答える 1

1

VPS にファイルをアップロードするための新しい一時フォルダーを設定できなかったようです。

私が試したこと:

ini_set('upload_tmp_dir', '/tmp'); で新しい一時フォルダーを設定します。成功せずに!その理由は何ですか?答え: 許可がありません。

そのため、ini_set() を使用する前に、それを作成する権限があることを確認してください。そうしないと、php エンジンの動作に影響を与えません。

とにかく、一時フォルダーを設定しないと、PHP はデフォルトで /tmp を使用するようです。結論として、新しい一時フォルダーを設定しなくても、ファイルのアップロードに問題はありません。ファイルのサイズに関連する他の問題がある可能性があります。file_uploads -> ON、upload_max_filesize、max_file_uploads の php 情報を確認すると、upload_tmp_dir に新しい一時フォルダーを設定できますが、確かに問題にはなりません。

それでもファイルをアップロードできない場合は、ライブラリの依存関係に問題がある可能性があります。私のアドバイスは、特に画像を操作しようとしている場合は、使用しているすべての機能が GD ライブラリなどのサーバーにインストールされていることを確認することです。

php 拡張子を持つ新しいファイルを作成し、php タグ間で関数 phpinfo(); を使用して、php 情報を確認できます。

注: 上記の変更はすべて php.ini または ini_set() 関数で行うことができます。

私のサーバーの問題はGDライブラリでした!!!

では、私の 10 セントの寄付です。私はそれが誰かを助けることを願っています:)

于 2013-02-08T13:19:50.823 に答える