Windows system >> Windowsの知識 >  >> コンピュータソフトウェアのチュートリアル >> サーバー技術 >> サーバーについて >> nginx + php-fpmがファイルをアップロードできないという問題を解決する

nginx + php-fpmがファイルをアップロードできないという問題を解決する

  
ファイルのアップロードは私たちがどんなWeb開発にも必要な機能ですが、Xiaobian設定のnginx + php-fpmはファイルをアップロードできないので、解決策を見てみましょう。

解決方法

location〜\\ .php $ {ルート/var /www /html /public; client_max_body_size 50M; client_body_temp_path /tmp; fastcgi_pass 127.0.0.1:9000; fastcgi_index index.php; fastcgi_param SCRIPT_FILENAME $ Document_root $ fastcgi_script_name; include fastcgi_params;

}

添付ファイル:探してはいけません。インターネットでたくさん試してみました。 Firebugに常にPostリクエストのサイズ制限に達するように指示します。

PHP.iniでpost_max_sizeを変更するupload_max_filesize max_execution_time max_input_time

php.iniファイルを開き、変更後にサーバーを再起動します。テスト中のファイルをアップロードします。 。 。 。 (ちょっと、大きいファイルはありますか?)

1.ファイルがアップロードされたときにファイルを保存するための一時ディレクトリ。 PHPプロセスの所有者ユーザーが書き込み可能なディレクトリでなければなりません。指定しない場合、PHPはupload_tmp_dirにあるシステムデフォルトのphp.iniファイルを使用して、PHPによってアップロードされたファイルが置かれる一時ディレクトリを示します。ファイルをアップロードするには、サーバーが一時ファイルを閉じず、フォルダーへの書き込み権限があることを確認する必要があります。

2. max_execution_time

変数max_execution_timeは、スクリプトの強制終了前にスクリプトの実行を待機します。時間、この時間は秒単位で計算されます。この変数は、スクリプトが無限ループ状態に入ったときに非常に役立ちます。ただし、この機能を使用すると、完了までに時間がかかる正当なアクティビティがある場合(たとえば、大きなファイルのアップロード)にも操作が失敗する可能性があります。そのような場合、スクリプトが重要なプロセスを実行している間にPHPがスクリプトを閉じるのを避けるために、この変数の値を増やすことを検討しなければなりません。

変更:max_execution_time = 800

3、file_uploads = On(元の質問を設定する必要はありません)4、upload_max_filesize = 2Mを800Mに変更5、フォーム送信に関連する変数はPost_max_sizeは、POSTメソッドを使用してフォーム送信でPHPが受信できるデータの最大量を制御します。デフォルトの8 MBをもっと大きくする必要があるかもしれません。代わりに、より現実的な値に適切に減らす必要があります。ただし、PHPファイルのアップロード機能を使用する場合は、この値をupload_max_filesizeよりも大きくなるように変更する必要があります。 post_max_size = 900M

6、max_input_time

この変数はPOST、GET、PUTで​​データを受け取る時間を秒単位で制限します。アプリケーションが低速リンクで実行されている場合は、データの受信に必要な時間を増やすためにこの値を増やす必要があります。max_input_time = 900

7、memory_limit = 10M
<スクリプトを実行するために大量のシステム使用可能メモリを実行しないようにするために、PHPではメモリ使用量の制限を定義できます。 1つのスクリプトで使用できる最大メモリ容量を指定するには、memory_limit変数を使用します変数memory_limitの値(サーバーの最大値を超えないようにします)変更:memory_limit = 128M

Copyright © Windowsの知識 All Rights Reserved