ホームページ  >  記事  >  バックエンド開発  >  php.ini でよく触れられる「制限事項」のまとめ

php.ini でよく触れられる「制限事項」のまとめ

WBOY
WBOYオリジナル
2016-08-08 09:29:531281ブラウズ

最大実行時間
PHP の最大実行時間。php.ini のデフォルト値は 30 です。つまり、ページが 30 秒間実行された後、サーバーはページの実行を直接強制終了します。

一般的なページの場合は 30 秒で十分ですが、大量のデータ分析のために PHP 実行を直接使用する必要がある一部のページでは、ページ実行の効率に応じて max_execution_time の値を調整し、もちろんアルゴリズムを改善する必要があります最適なページ実行効率を得るために、できるだけ多くのことを行います。
max_input_vars
php で送信されるフォーム (コントロール) の最大数。php.ini のデフォルト値は 1000 です。つまり、フォーム フォーム ポスト データに含まれるコントロール (入力) の数は 1000 を超えることはできません。

1000 入力では不十分ですか?人々はそれを埋めることができますか?という疑問があるかもしれませんが、実際にプログラミングをしていると、Excelのテーブル文書をアップロードし、PHPExcelのクラスライブラリを使って解析し、確認後にページに出力するという問題に遭遇しました。 press " 「データの送信」がデータベースに挿入されます。データの各単位はフォーム入力 (非表示) に保存されます。入力数は 200 (行) * 8 (列) = 1600 で、デフォルトの数を超えています。その結果、毎回最初のデータが 125 個のデータとしてデータベースに挿入されます。

私が最初にこの問題に遭遇したとき、$_POST の値をページに直接出力したところ、レコードが 125 件しかなかったことがわかり、ポスト送信に問題があると判断されました。インターネット上で同様の問題に関する情報がいくつか見つかりましたが、基本的には PHP の投稿サイズの制限に焦点が当てられていました。ただし、php.ini では、post_max_size のデフォルト値が 32M であることがわかりました。いずれにせよ、問題は投稿サイズの制限ではないと思います。後でこれがコントロールの制限である可能性があることに気づき、最終的に max_input_vars がポスト コントロールの制限であることがわかりました。ただし、ローカル マシンにインストールされている wamp の php.ini には max_input_vars に関する関連情報が見つからないため、自分で追加するしかありません。

<code><span>; Maximum input variable nesting level</span><span>; http://php.net/max-input-nesting-level</span><span>;max_input_nesting_level = 64</span><span>max_input_vars = <span><span>5000</span>;   //默认<span>1000</span></span></span><span>; Maximum amount of memory a script may consume (128MB)</span><span>; http://php.net/memory-limit</span><span>memory_limit = <span><span>128</span>M</span></span></code>


upload_max_filesize と post_max_size
1 つはファイルのアップロードの上限、もう 1 つは投稿の上限です。

PHP post を使用して大きなファイルをアップロードする必要がある場合は、必ず変更してください (ファイルの最大値 <= Upload_max_filesize <= post_max_size)。 そうしないと、ファイルのアップロードに失敗するか、ファイルの一部のみがアップロードされます (例: 20M ファイル test.zip をアップロードします。upload_max_filesize はわずか 10M で、サーバーにアップロードされるのはおそらく 10M の test.zip)
max_input_time
この変数は、post メソッドと get メソッドを介してデータを受信する時間を秒単位で制限します。デフォルト値は 60 秒です。

アプリケーションが低速リンクで実行されている場合は、データの受信に必要な追加時間に対応するためにこの値を増やすことができます。

以上、php.iniでよく触れられる「制限事項」について、内容の側面も含めてまとめて紹介しましたが、PHPチュートリアルに興味のある友人の参考になれば幸いです。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。