JQueryによってPHPスクリプトに開始されたプレーンなajaxリクエストがあります:
$.ajax({
url:"script.php",
data: data,
type: "POST"
// error & success handlers here
});
データ(JSONの場合もあれば、バイナリファイルの場合もあります)が数百文字を超える場合、POSTリクエストは完了せず、そこでハングします。ApacheログまたはJSにエラーはありません。コンソール、何が起こっているのかについての他の表示はありません。
Php.ini post_max_dataやその他の設定をいじっても結果は得られず、私が考えることができるすべての設定は非常に許容値に設定されています。
私はApache2.4とPHP 5.5.9)でUbuntu14.04サーバーを実行しています。
何が足りないのですか?
リクエストの長さに関してPHP構成を確認しましたか?リクエストの許可されるサイズを制御するいくつかのパラメーターがあります。ここに最も重要なパラメーターを含めます(参照付きのphp.iniから直接) 。
; Maximum size of POST data that PHP will accept.
; Its value may be 0 to disable the limit. It is ignored if POST data reading
; is disabled through enable_post_data_reading.
; http://php.net/post-max-size
post_max_size = 10M
; How many GET/POST/COOKIE input variables may be accepted
max_input_vars = 1000
投稿変数に高度にネストされたデータ構造がある場合は、これを増やす必要があるかもしれません(ほとんどありません)
; Maximum input variable nesting level
; http://php.net/max-input-nesting-level
max_input_nesting_level = 64
これが機能しない場合は、Apache/phpで制限とタイムアウトを増やす方法についての良い要約を見つけました: http://www.devside.net/wamp-server/Apache-and-php-制限とタイムアウト
お役に立てれば、
よろしくお願いします。