2016-03-31 113 views
2

私のウェブサーバでは、ASP.NET、PHP7 +、およびFastCGIを備えたWindows Server 2012でIIS8を使用しています。PHP - 大規模なPOSTリクエストサーバエラー

私の問題:値の文字列(HTMLからPHPへ)を20.000文字より長い値の文字列で送信しようとすると、サーバーは500サーバーエラーを返しますOR投稿要求を認識しませんまったく。

私のHTML/PHPコード:

<?php if(isset($_POST['submit'])) { echo "Got it!"; } ?> 

<form action="" method="post"> 
<input type="text" value="String with 20000+ characters" name="value"> 
<input type="submit" name="submit"> 
</form> 

提出クリックすることで、サーバーのエラーがアップします。これらの行は、PHPのエラーログファイルに挿入されているポストの要求の中で:

[] PHP Warning: Unknown: Unable to create temporary file, Check permissions in temporary files directory. in Unknown on line 0 
[] PHP Warning: Unknown: POST data can't be buffered; all data discarded in Unknown on line 0 

私もこれに関連していてもよい、すべての設定オプションを編集しました。すべてのサポートのため

php.iniの

post_max_size = 1024M 
memory_limit = 512M 
upload_max_filesize = 1024M 

私のサーバー上のweb.config

<system.web><httpRuntime maxRequestLength="1048576" executionTimeout="3600" /> 
</system.web> 

    <security> 
<requestFiltering> 
    <requestLimits maxAllowedContentLength="1073741824" /> 
</requestFiltering> 

感謝。端末タイプで

+1

権限エラーが実際にログファイルまたはキャッシュファイルに関連する可能性があります。 'storage'フォルダのパーミッションを調べて、システムに書き込みアクセス権があるかどうか確認してください。 – cchapman

答えて

0

chmod -R 777 /your/upload/folder 

あなたはこのコードを実行することにより、PHPのアップロードファイルフォルダを知ることができます。私の場合は

$tmp_dir = ini_get('upload_tmp_dir') ? ini_get('upload_tmp_dir') : sys_get_temp_dir(); 
die($tmp_dir); 

を私はは/ varを取得/ ...そう私が777パーミッションを設定したとき、私はエラーを受け取りません。

+1

LOL on windows。 – user956584

+0

1. PHPアップロードフォルダに実行権限を与えるのは良い考えではありません! –

+0

2.これらの手順はWindowsでは機能しません。 –

0

私の場合は、ハードドライブがいっぱいでした。一時的なデータを書き込むことさえできません。いくつかのファイルを削除した後、すべてがPOSTをやり直しました。

関連する問題