ΡΠ²Π΅Π»ΠΈΡΠΈΡΡ ΠΏΠ°ΠΌΡΡΡ ΡΠΊΡΠΈΠΏΡΠ° php
ΠΠ°ΠΊ ΡΠ²Π΅Π»ΠΈΡΠΈΡΡ ΠΏΠ°ΠΌΡΡΡ ΠΈ Π²ΡΠ΅ΠΌΡ Π΄Π»Ρ PHP ΡΠΊΡΠΈΠΏΡΠΎΠ²
ΠΠ°ΡΡΡΠΎΠΉΠΊΠΈ ΠΏΠΎΡΡΠ΅Π±Π»Π΅Π½ΠΈΡ ΡΠ΅ΡΡΡΡΠΎΠ² Π² PHP ΡΠΊΡΠΈΠΏΡΠ°Ρ ΠΌΠΎΠΆΠ½ΠΎ ΡΡΡΠ°Π½ΠΎΠ²ΠΈΡΡ Π² Π³Π»Π°Π²Π½ΠΎΠΌ ΠΊΠΎΠ½ΡΠΈΠ³ΡΡΠ°ΡΠΈΠΎΠ½Π½ΠΎΠΌ ΡΠ°ΠΉΠ»Π΅ php.ini, Π° ΡΠ°ΠΊΠΆΠ΅ Π² ΡΠ°ΠΌΠΈΡ ΡΠΊΡΠΈΠΏΡΠ°Ρ .
Π ΡΠ°ΠΉΠ»Π΅ php.ini Π·Π° ΡΡΠΎ ΠΎΡΠ²Π΅ΡΠ°ΡΡ Π΄ΠΈΡΠ΅ΠΊΡΠΈΠ²Ρ ΠΈΠ· ΡΠ°Π·Π΄Π΅Π»Π° Resource Limits (ΠΎΠ³ΡΠ°Π½ΠΈΡΠ΅Π½ΠΈΠ΅ ΠΏΠΎΡΡΠ΅Π±Π»Π΅Π½ΠΈΡ ΡΠ΅ΡΡΡΡΠΎΠ²).
ΠΠ°ΠΊ ΡΠ²Π΅Π»ΠΈΡΠΈΡΡ ΠΏΠ°ΠΌΡΡΡ Π΄Π»Ρ PHP ΡΠΊΡΠΈΠΏΡΠΎΠ²
ΠΠ»Ρ ΡΡΠΎΠ³ΠΎ Π² ΡΠ°ΠΉΠ»Π΅ php.ini Π½Π°ΠΉΠ΄ΠΈΡΠ΅ ΠΈ ΠΎΡΡΠ΅Π΄Π°ΠΊΡΠΈΡΡΠΉΡΠ΅ Π΄ΠΈΡΠ΅ΠΊΡΠΈΠ²Ρ:
ΠΡΠ° Π΄ΠΈΡΠ΅ΠΊΡΠΈΠ²Π° Π·Π°Π΄Π°ΡΡ ΠΌΠ°ΠΊΡΠΈΠΌΠ°Π»ΡΠ½ΠΎΠ΅ Π²ΡΠ΅ΠΌΡ Π² ΡΠ΅ΠΊΡΠ½Π΄Π°Ρ , Π² ΡΠ΅ΡΠ΅Π½ΠΈΠ΅ ΠΊΠΎΡΠΎΡΠΎΠ³ΠΎ ΡΠΊΡΠΈΠΏΡ Π΄ΠΎΠ»ΠΆΠ΅Π½ ΠΏΠΎΠ»Π½ΠΎΡΡΡΡ Π·Π°Π³ΡΡΠ·ΠΈΡΡΡΡ. ΠΡΠ»ΠΈ ΡΡΠΎΠ³ΠΎ Π½Π΅ ΠΏΡΠΎΠΈΡΡ ΠΎΠ΄ΠΈΡ, ΠΏΠ°ΡΡΠ΅Ρ Π·Π°Π²Π΅ΡΡΠ°Π΅Ρ ΡΠ°Π±ΠΎΡΡ ΡΠΊΡΠΈΠΏΡΠ°. ΠΡΠΎΡ ΠΌΠ΅Ρ Π°Π½ΠΈΠ·ΠΌ ΠΏΠΎΠΌΠΎΠ³Π°Π΅Ρ ΠΏΡΠ΅Π΄ΠΎΡΠ²ΡΠ°ΡΠΈΡΡ Π·Π°Π²ΠΈΡΠ°Π½ΠΈΠ΅ ΡΠ΅ΡΠ²Π΅ΡΠ° ΠΈΠ·-Π·Π° ΠΏΠ»ΠΎΡ ΠΎ Π½Π°ΠΏΠΈΡΠ°Π½Π½ΠΎΠ³ΠΎ ΡΠΊΡΠΈΠΏΡΠ°. ΠΠΎ ΡΠΌΠΎΠ»ΡΠ°Π½ΠΈΡ Π½Π° Π·Π°Π³ΡΡΠ·ΠΊΡ Π΄Π°ΡΡΡΡ 30 ΡΠ΅ΠΊΡΠ½Π΄. ΠΡΠ»ΠΈ PHP Π·Π°ΠΏΡΡΠ΅Π½ ΠΈΠ· ΠΊΠΎΠΌΠ°Π½Π΄Π½ΠΎΠΉ ΡΡΡΠΎΠΊΠΈ, ΡΡΠΎ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ ΠΏΠΎ ΡΠΌΠΎΠ»ΡΠ°Π½ΠΈΡ ΡΠ°Π²Π½ΠΎ 0.
ΠΠ° ΠΌΠ°ΠΊΡΠΈΠΌΠ°Π»ΡΠ½ΠΎΠ΅ Π²ΡΠ΅ΠΌΡ Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΡ Π½Π΅ Π²Π»ΠΈΡΡΡ ΡΠΈΡΡΠ΅ΠΌΠ½ΡΠ΅ Π²ΡΠ·ΠΎΠ²Ρ, ΠΏΠΎΡΠΎΠΊΠΎΠ²ΡΠ΅ ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠΈ ΠΈ Ρ.ΠΏ.
ΠΡΠΈ ΡΠ°Π±ΠΎΡΠ΅ Π² Π±Π΅Π·ΠΎΠΏΠ°ΡΠ½ΠΎΠΌ ΡΠ΅ΠΆΠΈΠΌΠ΅ ΡΡΡ Π½Π°ΡΡΡΠΎΠΉΠΊΡ Π½Π΅Π»ΡΠ·Ρ ΠΈΠ·ΠΌΠ΅Π½ΠΈΡΡ ΡΡΠ½ΠΊΡΠΈΠ΅ΠΉ ini_set(). ΠΡΠ»ΠΈ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ Π²ΡΠ΅ ΠΆΠ΅ Π½ΡΠΆΠ½ΠΎ ΠΈΠ·ΠΌΠ΅Π½ΠΈΡΡ, Π½Π°Π΄ΠΎ Π»ΠΈΠ±ΠΎ Π²ΡΠΊΠ»ΡΡΠΈΡΡ Π±Π΅Π·ΠΎΠΏΠ°ΡΠ½ΡΠΉ ΡΠ΅ΠΆΠΈΠΌ, Π»ΠΈΠ±ΠΎ ΠΈΠ·ΠΌΠ΅Π½ΠΈΡΡ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ ΠΏΡΡΠΌΠΎ Π² php.ini.
ΠΠ΅Π±-ΡΠ΅ΡΠ²Π΅ΡΡ ΠΎΠ±ΡΡΠ½ΠΎ ΠΈΠΌΠ΅ΡΡ ΡΠ²ΠΎΠΈ Π½Π°ΡΡΡΠΎΠΉΠΊΠΈ ΡΠ°ΠΉΠΌ-Π°ΡΡΠ°, ΠΏΠΎ ΠΈΡΡΠ΅ΡΠ΅Π½ΠΈΠΈ ΠΊΠΎΡΠΎΡΠΎΠ³ΠΎ ΡΠ°ΠΌΠΈ Π·Π°Π²Π΅ΡΡΠ°ΡΡ Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅ ΡΠΊΡΠΈΠΏΡΠ° PHP. Π Apache Π΅ΡΡΡ Π΄ΠΈΡΠ΅ΠΊΡΠΈΠ²Π° Timeout, Π² IIS Π΅ΡΡΡ ΡΡΠ½ΠΊΡΠΈΡ CGI timeout. Π ΠΎΠ±ΠΎΠΈΡ ΡΠ»ΡΡΠ°ΡΡ ΠΏΠΎ ΡΠΌΠΎΠ»ΡΠ°Π½ΠΈΡ ΡΡΡΠ°Π½ΠΎΠ²Π»Π΅Π½ΠΎ 300 ΡΠ΅ΠΊΡΠ½Π΄. Π’ΠΎΡΠ½ΡΠ΅ Π·Π½Π°ΡΠ΅Π½ΠΈΡ ΠΌΠΎΠΆΠ½ΠΎ ΡΠ·Π½Π°ΡΡ ΠΈΠ· Π΄ΠΎΠΊΡΠΌΠ΅Π½ΡΠ°ΡΠΈΠΈ ΠΊ Π²Π΅Π±-ΡΠ΅ΡΠ²Π΅ΡΡ.
Π€ΡΠ½ΠΊΡΠΈΡ Π΄Π»Ρ ΡΠ²Π΅Π»ΠΈΡΠ΅Π½ΠΈΡ ΠΈ ΠΎΠ³ΡΠ°Π½ΠΈΡΠ΅Π½ΠΈΡ Π²ΡΠ΅ΠΌΠ΅Π½ΠΈ Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΡ PHP
Π€ΡΠ½ΠΊΡΠΈΡ set_time_limit ΠΎΠ³ΡΠ°Π½ΠΈΡΠΈΠ²Π°Π΅Ρ Π²ΡΠ΅ΠΌΡ Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΡ ΡΠΊΡΠΈΠΏΡΠ°.
ΠΠ½Π° Π·Π°Π΄Π°Π΅Ρ Π²ΡΠ΅ΠΌΡ Π² ΡΠ΅ΠΊΡΠ½Π΄Π°Ρ , Π² ΡΠ΅ΡΠ΅Π½ΠΈΠ΅ ΠΊΠΎΡΠΎΡΠΎΠ³ΠΎ ΡΠΊΡΠΈΠΏΡ Π΄ΠΎΠ»ΠΆΠ΅Π½ Π·Π°Π²Π΅ΡΡΠΈΡΡ ΡΠ°Π±ΠΎΡΡ. ΠΡΠ»ΠΈ ΡΠΊΡΠΈΠΏΡ Π½Π΅ ΡΡΠΏΠ΅Π²Π°Π΅Ρ, Π²ΡΠ·ΡΠ²Π°Π΅ΡΡΡ ΡΠ°ΡΠ°Π»ΡΠ½Π°Ρ ΠΎΡΠΈΠ±ΠΊΠ°. ΠΠΎ ΡΠΌΠΎΠ»ΡΠ°Π½ΠΈΡ Π΄Π°Π΅ΡΡΡ 30 ΡΠ΅ΠΊΡΠ½Π΄, Π»ΠΈΠ±ΠΎ Π²ΡΠ΅ΠΌΡ, Π·Π°ΠΏΠΈΡΠ°Π½Π½ΠΎΠ΅ Π² Π½Π°ΡΡΡΠΎΠΉΠΊΠ΅ max_execution_time Π² php.ini (Π΅ΡΠ»ΠΈ ΡΠ°ΠΊΠ°Ρ Π½Π°ΡΡΡΠΎΠΉΠΊΠ° ΡΡΡΠ°Π½ΠΎΠ²Π»Π΅Π½Π°).
ΠΡΠΈ Π²ΡΠ·ΠΎΠ²Π΅ set_time_limit() ΠΏΠ΅ΡΠ΅Π·Π°ΠΏΡΡΠΊΠ°Π΅Ρ ΡΡΠ΅ΡΡΠΈΠΊ Ρ Π½ΡΠ»Ρ. ΠΡΡΠ³ΠΈΠΌΠΈ ΡΠ»ΠΎΠ²Π°ΠΌΠΈ, Π΅ΡΠ»ΠΈ ΡΠ°ΠΉΠΌ-Π°ΡΡ ΠΈΠ·Π½Π°ΡΠ°Π»ΡΠ½ΠΎ Π±ΡΠ» 30 ΡΠ΅ΠΊΡΠ½Π΄, ΠΈ ΡΠ΅ΡΠ΅Π· 25 ΡΠ΅ΠΊΡΠ½Π΄ ΠΏΠΎΡΠ»Π΅ Π·Π°ΠΏΡΡΠΊΠ° ΡΠΊΡΠΈΠΏΡΠ° Π±ΡΠ΄Π΅Ρ Π²ΡΠ·Π²Π°Π½Π° ΡΡΠ½ΠΊΡΠΈΡ set_time_limit(20), ΡΠΎ ΡΠΊΡΠΈΠΏΡ Π±ΡΠ΄Π΅Ρ ΡΠ°Π±ΠΎΡΠ°ΡΡ ΠΌΠ°ΠΊΡΠΈΠΌΡΠΌ 45 ΡΠ΅ΠΊΡΠ½Π΄.
ΠΠΎΠ·Π²ΡΠ°ΡΠ°Π΅ΠΌΡΠ΅ Π·Π½Π°ΡΠ΅Π½ΠΈΡ: Π²ΠΎΠ·Π²ΡΠ°ΡΠ°Π΅Ρ TRUE Π² ΡΠ»ΡΡΠ°Π΅ ΡΡΠΏΠ΅Ρ Π°, ΠΈΠ½Π°ΡΠ΅ FALSE.
ΠΠ½ΠΈΠΌΠ°Π½ΠΈΠ΅: ΡΡΠ° ΡΡΠ½ΠΊΡΠΈΡ Π½Π΅ ΡΠ°Π±ΠΎΡΠ°Π΅Ρ, Π΅ΡΠ»ΠΈ PHP ΡΠ°Π±ΠΎΡΠ°Π΅Ρ Π² Π±Π΅Π·ΠΎΠΏΠ°ΡΠ½ΠΎΠΌ ΡΠ΅ΠΆΠΈΠΌΠ΅. ΠΠ±ΠΎΠΉΡΠΈ ΡΡΠΎ ΠΎΠ³ΡΠ°Π½ΠΈΡΠ΅Π½ΠΈΠ΅ ΠΌΠΎΠΆΠ½ΠΎ ΡΠΎΠ»ΡΠΊΠΎ Π²ΡΠΊΠ»ΡΡΠΈΠ² Π±Π΅Π·ΠΎΠΏΠ°ΡΠ½ΡΠΉ ΡΠ΅ΠΆΠΈΠΌ ΠΈΠ»ΠΈ ΠΈΠ·ΠΌΠ΅Π½ΠΈΠ² Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ Π½Π°ΡΡΡΠΎΠΉΠΊΠΈ Π² php.ini.
ΠΠ°ΠΌΠ΅ΡΠ°Π½ΠΈΠ΅: ΡΡΠ½ΠΊΡΠΈΡ set_time_limit() ΠΈ Π΄ΠΈΡΠ΅ΠΊΡΠΈΠ²Π° max_execution_time Π²Π»ΠΈΡΡΡ Π½Π° Π²ΡΠ΅ΠΌΡ Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΡ ΡΠΎΠ»ΡΠΊΠΎ ΡΠ°ΠΌΠΎΠ³ΠΎ ΡΠΊΡΠΈΠΏΡΠ°. ΠΡΠ΅ΠΌΡ, Π·Π°ΡΡΠ°ΡΠ΅Π½Π½ΠΎΠ΅ Π½Π° ΡΠ°Π·Π»ΠΈΡΠ½ΡΠ΅ Π΄Π΅ΠΉΡΡΠ²ΠΈΡ Π²Π½Π΅ ΡΠΊΡΠΈΠΏΡΠ°, ΡΠ°ΠΊΠΈΠ΅ ΠΊΠ°ΠΊ ΡΠΈΡΡΠ΅ΠΌΠ½ΡΠ΅ Π²ΡΠ·ΠΎΠ²Ρ ΡΡΠ½ΠΊΡΠΈΠΈ system(), ΠΏΠΎΡΠΎΠΊΠΎΠ²ΡΠ΅ ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠΈ, Π·Π°ΠΏΡΠΎΡΡ ΠΊ Π±Π°Π·Π°ΠΌ Π΄Π°Π½Π½ΡΡ ΠΈ Ρ.ΠΏ. Π½Π΅ Π²ΠΊΠ»ΡΡΠ°ΡΡΡΡ Π² ΡΠ°ΡΡΠ΅Ρ Π²ΡΠ΅ΠΌΠ΅Π½ΠΈ Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΡ ΡΠΊΡΠΈΠΏΡΠ°. ΠΡΠΎ Π½Π΅ ΠΎΡΠ½ΠΎΡΠΈΡΡΡ ΠΊ ΡΠΈΡΡΠ΅ΠΌΠ°ΠΌ Windows, Π³Π΄Π΅ ΡΠ°ΡΡΠΈΡΡΠ²Π°Π΅ΡΡΡ Π°Π±ΡΠΎΠ»ΡΡΠ½ΠΎΠ΅ Π²ΡΠ΅ΠΌΡ Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΡ.
ΠΠ±Π΅ set_time_limit(β¦) ΠΈ ini_set(‘max_execution_time’,β¦); Π½Π΅ ΡΡΠΈΡΡΠ²Π°ΡΡ Π²ΡΠ΅ΠΌΡ, ΠΏΠΎΡΡΠ°ΡΠ΅Π½Π½ΠΎΠ΅ ΡΡΠ½ΠΊΡΠΈΡΠΌΠΈ sleep, file_get_contents, shell_exec, mysql_query ΠΈ Π½Π΅ΠΊΠΎΡΠΎΡΡΠΌΠΈ Π΄ΡΡΠ³ΠΈΠΌΠΈ.
Π£Π²Π΅Π»ΠΈΡΠ΅Π½ΠΈΠ΅ Π²ΡΠ΄Π΅Π»Π΅Π½Π½ΠΎΠΉ ΠΏΠ°ΠΌΡΡΠΈ Π΄Π»Ρ PHP ΡΠΊΡΠΈΠΏΡΠΎΠ²
ΠΠΈΡΠ΅ΠΊΡΠΈΠ²Π° Π² ΡΠ°ΠΉΠ»Π΅ php.ini
Π·Π°Π΄Π°ΡΡ ΠΌΠ°ΠΊΡΠΈΠΌΠ°Π»ΡΠ½ΡΠΉ ΠΎΠ±ΡΠ΅ΠΌ ΠΏΠ°ΠΌΡΡΠΈ Π² Π±Π°ΠΉΡΠ°Ρ , ΠΊΠΎΡΠΎΡΡΠΉ ΡΠ°Π·ΡΠ΅ΡΠ°Π΅ΡΡΡ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ ΡΠΊΡΠΈΠΏΡΡ. ΠΡΠΎ ΠΏΠΎΠΌΠΎΠ³Π°Π΅Ρ ΠΏΡΠ΅Π΄ΠΎΡΠ²ΡΠ°ΡΠΈΡΡ ΡΠΈΡΡΠ°ΡΠΈΡ, ΠΏΡΠΈ ΠΊΠΎΡΠΎΡΠΎΠΉ ΠΏΠ»ΠΎΡ ΠΎ Π½Π°ΠΏΠΈΡΠ°Π½Π½ΡΠΉ ΡΠΊΡΠΈΠΏΡ ΡΡΠ΅Π΄Π°Π΅Ρ Π²ΡΡ Π΄ΠΎΡΡΡΠΏΠ½ΡΡ ΠΏΠ°ΠΌΡΡΡ ΡΠ΅ΡΠ²Π΅ΡΠ°. ΠΠ»Ρ ΡΠΎΠ³ΠΎ, ΡΡΠΎΠ±Ρ ΡΠ±ΡΠ°ΡΡ ΠΎΠ³ΡΠ°Π½ΠΈΡΠ΅Π½ΠΈΡ, ΡΡΡΠ°Π½ΠΎΠ²ΠΈΡΠ΅ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ ΡΡΠΎΠΉ Π΄ΠΈΡΠ΅ΠΊΡΠΈΠ²Ρ Π² -1.
Π Π²Π΅ΡΡΠΈΡΡ Π΄ΠΎ PHP 5.2.1 Π΄Π»Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΡ ΡΡΠΎΠΉ Π΄ΠΈΡΠ΅ΠΊΡΠΈΠ²Ρ, ΠΎΠ½Π° Π΄ΠΎΠ»ΠΆΠ½Π° Π±ΡΠ»Π° Π±ΡΡΡ ΡΠΊΠ°Π·Π°Π½Π° Π½Π° ΡΡΠ°ΠΏΠ΅ ΠΊΠΎΠΌΠΏΠΈΠ»ΡΡΠΈΠΈ. Π’Π°ΠΊ, Π²Π°ΡΠ° ΡΡΡΠΎΠΊΠ° ΠΊΠΎΠ½ΡΠΈΠ³ΡΡΠ°ΡΠΈΠΈ Π΄ΠΎΠ»ΠΆΠ½Π° Π±ΡΠ»Π° Π²ΠΊΠ»ΡΡΠ°ΡΡ: —enable-memory-limit. ΠΡΠ° ΠΎΠΏΡΠΈΡ ΠΊΠΎΠΌΠΏΠΈΠ»ΡΡΠΈΠΈ Π±ΡΠ»Π° ΡΠ°ΠΊΠΆΠ΅ Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΠ° Π΄Π»Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΡ ΡΡΠ½ΠΊΡΠΈΠΉ memory_get_usage() ΠΈ memory_get_peak_usage() Π΄ΠΎ Π²Π΅ΡΡΠΈΠΈ 5.2.1.
ΠΡΠ»ΠΈ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΡΡΡ ΡΠ΅Π»ΠΎΠ΅ ΡΠΈΡΠ»ΠΎ, ΡΠΎ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ ΠΈΠ·ΠΌΠ΅ΡΡΠ΅ΡΡΡ Π±Π°ΠΉΡΠ°ΠΌΠΈ. ΠΡ ΡΠ°ΠΊΠΆΠ΅ ΠΌΠΎΠΆΠ΅ΡΠ΅ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ ΡΠΎΠΊΡΠ°ΡΡΠ½Π½ΡΡ Π·Π°ΠΏΠΈΡΡ.
ΠΠΎΡΡΡΠΏΠ½ΡΠ΅ ΠΎΠΏΡΠΈΠΈ: K (Π΄Π»Ρ ΠΊΠΈΠ»ΠΎΠ±Π°ΠΉΡ), M (Π΄Π»Ρ ΠΌΠ΅Π³Π°Π±Π°ΠΉΡ) ΠΈ G (Π΄Π»Ρ Π³ΠΈΠ³Π°Π±Π°ΠΉΡ; Π΄ΠΎΡΡΡΠΏΠ½Π° Π½Π°ΡΠΈΠ½Π°Ρ Ρ PHP 5.1.0); ΠΎΠ½ΠΈ ΡΠ΅Π³ΠΈΡΡΡΠΎΠ½Π΅Π·Π°Π²ΠΈΡΠΈΠΌΡ. ΠΡΠ΅ ΠΎΡΡΠ°Π»ΡΠ½ΠΎΠ΅ ΡΡΠΈΡΠ°Π΅ΡΡΡ Π±Π°ΠΉΡΠ°ΠΌΠΈ. 1M ΡΠ°Π²Π½ΠΎ ΠΎΠ΄Π½ΠΎΠΌΡ ΠΌΠ΅Π³Π°Π±Π°ΠΉΡΡ ΠΈΠ»ΠΈ 1048576 Π±Π°ΠΉΡΠ°ΠΌ. 1K ΡΠ°Π²Π½ΠΎ ΠΎΠ΄Π½ΠΎΠΌΡ ΠΊΠΈΠ»ΠΎΠ±Π°ΠΉΡΡ ΠΈΠ»ΠΈ 1024 Π±Π°ΠΉΡΠ°ΠΌ. ΠΡΠΈ ΡΠΎΠΊΡΠ°ΡΠ΅Π½ΠΈΡ Π²Ρ ΠΌΠΎΠΆΠ΅ΡΠ΅ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ Π² php.ini ΠΈ Π² ΡΡΠ½ΠΊΡΠΈΠΈ ini_set(). ΠΠ±ΡΠ°ΡΠΈΡΠ΅ Π²Π½ΠΈΠΌΠ°Π½ΠΈΠ΅, ΡΡΠΎ ΡΠΈΡΠ»ΠΎΠ²ΠΎΠ΅ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ ΠΏΡΠΈΠ²ΠΎΠ΄ΠΈΡΡΡ ΠΊ ΡΠΈΠΏΡ integer; Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ, 0.5M ΠΈΠ½ΡΠ΅ΡΠΏΡΠ΅ΡΠΈΡΡΠ΅ΡΡΡ ΠΊΠ°ΠΊ 0.
Π£Π²Π΅Π»ΠΈΡΠ΅Π½ΠΈΠ΅ Π²ΡΠ΅ΠΌΠ΅Π½ΠΈ ΠΏΠ°ΡΡΠΈΠ½Π³Π° Π΄Π°Π½Π½ΡΡ
ΠΈΠ· Π·Π°ΠΏΡΠΎΡΠ°.
ΠΠΈΡΠ΅ΠΊΡΠΈΠ²Π° Π² ΡΠ°ΠΉΠ»Π΅ php.ini
Π·Π°Π΄Π°ΡΡ ΠΌΠ°ΠΊΡΠΈΠΌΠ°Π»ΡΠ½ΠΎΠ΅ Π²ΡΠ΅ΠΌΡ Π² ΡΠ΅ΠΊΡΠ½Π΄Π°Ρ , Π² ΡΠ΅ΡΠ΅Π½ΠΈΠ΅ ΠΊΠΎΡΠΎΡΠΎΠ³ΠΎ ΡΠΊΡΠΈΠΏΡ Π΄ΠΎΠ»ΠΆΠ΅Π½ ΡΠ°Π·ΠΎΠ±ΡΠ°ΡΡ Π²ΡΠ΅ Π²Ρ ΠΎΠ΄Π½ΡΠ΅ Π΄Π°Π½Π½ΡΠ΅, ΠΏΠ΅ΡΠ΅Π΄Π°Π½Π½ΡΠ΅ Π·Π°ΠΏΡΠΎΡΠ°ΠΌΠΈ Π²ΡΠΎΠ΄Π΅ POST ΠΈΠ»ΠΈ GET. ΠΡΠΎ Π²ΡΠ΅ΠΌΡ ΠΈΠ·ΠΌΠ΅ΡΡΠ΅ΡΡΡ ΠΎΡ ΠΌΠΎΠΌΠ΅Π½ΡΠ°, ΠΊΠΎΠ³Π΄Π° PHP Π²ΡΠ·Π²Π°Π½ Π½Π° ΡΠ΅ΡΠ²Π΅ΡΠ΅ Π΄ΠΎ ΠΌΠΎΠΌΠ΅Π½ΡΠ°, ΠΊΠΎΠ³Π΄Π° ΡΠΊΡΠΈΠΏΡ Π½Π°ΡΠΈΠ½Π°Π΅Ρ Π²ΡΠΏΠΎΠ»Π½ΡΡΡΡΡ. ΠΠ½Π°ΡΠ΅Π½ΠΈΠ΅ ΠΏΠΎ ΡΠΌΠΎΠ»ΡΠ°Π½ΠΈΡ -1, ΡΡΠΎ ΠΎΠ·Π½Π°ΡΠ°Π΅Ρ, ΡΡΠΎ Π±ΡΠ΄Π΅Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡΡΡ max_execution_time. ΠΡΠ»ΠΈ ΡΡΡΠ°Π½ΠΎΠ²ΠΈΡΡ ΡΠ°Π²Π½ΡΠΌ 0, ΡΠΎ ΠΎΠ³ΡΠ°Π½ΠΈΡΠ΅Π½ΠΈΠΉ ΠΏΠΎ Π²ΡΠ΅ΠΌΠ΅Π½ΠΈ Π½Π΅ Π±ΡΠ΄Π΅Ρ.
ΠΡΠΈ Π·Π°ΠΏΡΡΠΊΠ΅ Π² ΠΊΠΎΠΌΠ°Π½Π΄Π½ΠΎΠΉ ΡΡΡΠΎΠΊΠ΅ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ Π΄ΠΈΡΠ΅ΠΊΡΠΈΠ²Ρ ΡΡΡΠ°Π½ΠΎΠ²Π»Π΅Π½ΠΎ Π½Π° -1 (Π½Π΅ΠΎΠ³ΡΠ°Π½ΠΈΡΠ΅Π½Π½ΠΎ).
Π£Π²Π΅Π»ΠΈΡΠ΅Π½ΠΈΠ΅ Π³Π»ΡΠ±ΠΈΠ½Ρ Π²Π»ΠΎΠΆΠ΅Π½Π½ΠΎΡΡΠΈ Π²Ρ
ΠΎΠ΄Π½ΡΡ
ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΡΡ
ΠΠΈΡΠ΅ΠΊΡΠΈΠ²Π° Π² ΡΠ°ΠΉΠ»Π΅ php.ini
ΠΠ³ΡΠ°Π½ΠΈΡΠ΅Π½ΠΈΠ΅ Π½Π° ΠΊΠΎΠ»ΠΈΡΠ΅ΡΡΠ²ΠΎ Π²Ρ
ΠΎΠ΄Π½ΡΡ
ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΡΡ
ΠΠΈΡΠ΅ΠΊΡΠΈΠ²Π° Π² ΡΠ°ΠΉΠ»Π΅ php.ini
ΠΠ½ΠΈΠΌΠ°Π½ΠΈΠ΅: ΠΏΠΎΡΠ»Π΅ Π²Π½Π΅ΡΠ΅Π½ΠΈΡ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠΉ Π² ΡΠ°ΠΉΠ» php.ini Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΠΎ ΠΏΠ΅ΡΠ΅Π·Π°Π³ΡΡΠ·ΠΈΡΡ Π²Π΅Π±-ΡΠ΅ΡΠ²Π΅Ρ, ΡΡΠΎΠ±Ρ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΡ Π²ΡΡΡΠΏΠΈΠ»ΠΈ Π² ΡΠΈΠ»Ρ.
ΠΡΠΎΠ²Π΅ΡΠΊΠ° ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠ΅ ΡΠ΅ΡΡΡΡΠΎΠ²
Π€ΡΠ½ΠΊΡΠΈΡ getrusage ΠΏΠΎΠ»ΡΡΠ°Π΅Ρ ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΡ ΠΎΠ± ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠΈ ΡΠ΅ΠΊΡΡΠ΅Π³ΠΎ ΡΠ΅ΡΡΡΡΠ°.
ΠΠΎΠ·Π²ΡΠ°ΡΠ°Π΅ΠΌΡΠ΅ Π·Π½Π°ΡΠ΅Π½ΠΈΡ: Π²ΠΎΠ·Π²ΡΠ°ΡΠ°Π΅Ρ Π°ΡΡΠΎΡΠΈΠ°ΡΠΈΠ²Π½ΡΠΉ ΠΌΠ°ΡΡΠΈΠ², ΡΠΎΠ΄Π΅ΡΠΆΠ°ΡΠΈΠΉ Π΄Π°Π½Π½ΡΠ΅ Π²ΠΎΠ·Π²ΡΠ°ΡΡΠ½Π½ΡΠ΅ ΠΈΠ· ΡΠΈΡΡΠ΅ΠΌΠ½ΠΎΠ³ΠΎ Π²ΡΠ·ΠΎΠ²Π°. ΠΠΌΠ΅Π½Π° ΡΠ»Π΅ΠΌΠ΅Π½ΡΠΎΠ² ΡΠΎΠΎΡΠ²Π΅ΡΡΡΠ²ΡΡΡ Π΄ΠΎΠΊΡΠΌΠ΅Π½ΡΠΈΡΠΎΠ²Π°Π½Π½ΡΠΌ ΠΈΠΌΠ΅Π½Π°ΠΌ ΠΏΠΎΠ»Π΅ΠΉ.
ΠΡΠΈΠΌΠ΅Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΡ getrusage():
Π£Π²Π΅Π»ΠΈΡΠ΅Π½ΠΈΠ΅ ΡΠ°Π·ΡΠ΅ΡΡΠ½Π½ΠΎΠ³ΠΎ ΡΠ°Π·ΠΌΠ΅ΡΠ° ΡΠ°ΠΉΠ»ΠΎΠ² Π΄Π»Ρ Π·Π°Π³ΡΡΠ·ΠΊΠΈ Π½Π° ΡΠ΅ΡΠ²Π΅Ρ
ΠΡΠΎΠΌΠ΅ ΠΎΠΏΠΈΡΠ°Π½Π½ΡΡ ΠΎΠ³ΡΠ°Π½ΠΈΡΠ΅Π½ΠΈΠΉ Π½Π° ΠΏΠΎΡΡΠ΅Π±Π»Π΅Π½ΠΈΠ΅ Π½Π΅ΠΏΠΎΡΡΠ΅Π΄ΡΡΠ²Π΅Π½Π½ΡΡ ΡΠ΅ΡΡΡΡΠΎΠ² Π²Π΅Π±-ΡΠ΅ΡΠ²Π΅ΡΠ°, ΡΠ°ΠΊΠΆΠ΅ ΠΈΠΌΠ΅ΡΡΡΡ ΠΎΠ³ΡΠ°Π½ΠΈΡΠ΅Π½ΠΈΡ, ΠΊΠΎΡΠΎΡΡΠ΅ ΠΎΠΊΠ°Π·ΡΠ²Π°ΡΡ ΠΊΠΎΡΠ²Π΅Π½Π½ΠΎΠ΅ Π²ΠΎΠ·Π΄Π΅ΠΉΡΡΠ²ΠΈΠ΅ Π½Π° ΡΠ΅ΡΡΡΡΡ: Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ, Π·Π°Π³ΡΡΠ·ΠΊΠ° ΡΠ»ΠΈΡΠΊΠΎΠΌ Π±ΠΎΠ»ΡΡΠΎΠ³ΠΎ ΡΠ°ΠΉΠ»Π° Π½Π° ΡΠ΅ΡΠ²Π΅Ρ ΠΌΠΎΠΆΠ΅Ρ ΠΏΠΎΡΡΠ΅Π±ΠΎΠ²Π°ΡΡ Π±ΠΎΠ»ΡΡΠΎΠ³ΠΎ ΠΊΠΎΠ»ΠΈΡΠ΅ΡΡΠ²Π° ΡΠ΅ΡΡΡΡΠΎΠ² Π΄Π»Ρ Π΅Π³ΠΎ ΠΎΠ±ΡΠ°Π±ΠΎΡΠΊΠΈ, Π»ΠΈΠ±ΠΎ ΠΏΡΠΈΠ²Π΅ΡΡΠΈ ΠΊ ΠΏΠ΅ΡΠ΅ΠΏΠΎΠ»Π½Π΅Π½ΠΈΡ Π΄ΠΈΡΠΊΠΎΠ²ΠΎΠ³ΠΎ Ρ ΡΠ°Π½ΠΈΠ»ΠΈΡΠ° ΡΠ΅ΡΠ²Π΅ΡΠ°. ΠΠΎΡΡΠΎΠΌΡ ΡΡΡΠ΅ΡΡΠ²ΡΡΡ Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡΠ΅Π»ΡΠ½ΡΠ΅ Π»ΠΈΠΌΠΈΡΡ, Π²ΠΊΠ»ΡΡΡΠ½Π½ΡΠ΅ Π² Π΄ΡΡΠ³ΠΈΠ΅ ΡΠ°Π·Π΄Π΅Π»Ρ ΠΊΠΎΠ½ΡΠΈΠ³ΡΡΠ°ΡΠΈΠΎΠ½Π½ΠΎΠ³ΠΎ ΡΠ°ΠΉΠ»Π° ΠΏΠΎΠΌΠΈΠΌΠΎ Resource Limits.
Π ΡΠ°ΡΡΠ½ΠΎΡΡΠΈ, Π΄ΠΈΡΠ΅ΠΊΡΠΈΠ²Π°
ΡΡΡΠ°Π½Π°Π²Π»ΠΈΠ²Π°Π΅Ρ ΠΌΠ°ΠΊΡΠΈΠΌΠ°Π»ΡΠ½ΡΠΉ ΡΠ°Π·ΠΌΠ΅Ρ Π·Π°ΠΊΠ°ΡΠΈΠ²Π°Π΅ΠΌΠΎΠ³ΠΎ ΡΠ°ΠΉΠ»Π°.
ΠΡΠ»ΠΈ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΡΡΡ ΡΠ΅Π»ΠΎΠ΅ ΡΠΈΡΠ»ΠΎ, Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ ΠΈΠ·ΠΌΠ΅ΡΡΠ΅ΡΡΡ Π±Π°ΠΉΡΠ°ΠΌΠΈ. ΠΡ ΡΠ°ΠΊΠΆΠ΅ ΠΌΠΎΠΆΠ΅ΡΠ΅ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ ΡΠΎΠΊΡΠ°ΡΡΠ½Π½ΡΡ Π·Π°ΠΏΠΈΡΡ, ΠΊΠΎΡΠΎΡΠ°Ρ ΠΎΠΏΠΈΡΠ°Π½Π° ΡΡΡΡ Π²ΡΡΠ΅.
ΠΠ°ΠΊΡΠΈΠΌΠ°Π»ΡΠ½ΠΎ Π΄ΠΎΠΏΡΡΡΠΈΠΌΡΠΉ ΡΠ°Π·ΠΌΠ΅Ρ Π΄Π°Π½Π½ΡΡ
, ΠΎΡΠΏΡΠ°Π²Π»ΡΠ΅ΠΌΡΡ
ΠΌΠ΅ΡΠΎΠ΄ΠΎΠΌ POST
ΠΠ΅ΡΠΎΠ΄ΠΎΠΌ ΠΏΠΎΡΡ ΠΌΠΎΠ³ΡΡ ΠΎΡΠΏΡΠ°Π²Π»ΡΡΡΡΡ ΠΊΠ°ΠΊ ΡΠ΅ΠΊΡΡΠΎΠ²ΡΠ΅ Π΄Π°Π½Π½ΡΠ΅ (Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ, ΠΏΡΠΈ ΠΎΡΠΏΡΠ°Π²ΠΊΠ΅ ΠΊΠΎΠΌΠΌΠ΅Π½ΡΠ°ΡΠΈΡ Π½Π° ΡΠ°ΠΉΡ), ΡΠ°ΠΊ ΠΈ ΡΠ°ΠΉΠ»Ρ. ΠΡΠ»ΠΈ Π²Ρ ΡΠ²Π΅Π»ΠΈΡΠΈΠ»ΠΈ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ upload_max_filesize ΡΡΠΎΠ±Ρ ΠΈΠΌΠ΅ΡΡ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΡ Π·Π°Π³ΡΡΠΆΠ°ΡΡ ΡΠ°ΠΉΠ»Ρ Π±ΠΎΠ»ΡΡΠ΅Π³ΠΎ ΡΠ°Π·ΠΌΠ΅ΡΠ° Π½Π° ΡΠ°ΠΉΡ, ΡΠΎ ΡΠ°ΠΊΠΆΠ΅ Π½ΡΠΆΠ½ΠΎ ΡΠ²Π΅Π»ΠΈΡΠΈΡΡ ΠΈ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ Π΄ΠΈΡΠ΅ΠΊΡΠΈΠ²Ρ:
ΠΊΠΎΡΠΎΡΠ°Ρ ΡΡΡΠ°Π½Π°Π²Π»ΠΈΠ²Π°Π΅Ρ ΠΌΠ°ΠΊΡΠΈΠΌΠ°Π»ΡΠ½ΠΎ Π΄ΠΎΠΏΡΡΡΠΈΠΌΡΠΉ ΡΠ°Π·ΠΌΠ΅Ρ Π΄Π°Π½Π½ΡΡ , ΠΎΡΠΏΡΠ°Π²Π»ΡΠ΅ΠΌΡΡ ΠΌΠ΅ΡΠΎΠ΄ΠΎΠΌ POST. ΠΡΠΎ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ ΡΠ°ΠΊΠΆΠ΅ Π²Π»ΠΈΡΠ΅Ρ Π½Π° Π·Π°Π³ΡΡΠ·ΠΊΡ ΡΠ°ΠΉΠ»ΠΎΠ². ΠΠ»Ρ Π·Π°Π³ΡΡΠ·ΠΊΠΈ Π±ΠΎΠ»ΡΡΠΈΡ ΡΠ°ΠΉΠ»ΠΎΠ² ΡΡΠΎ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ Π΄ΠΎΠ»ΠΆΠ½ΠΎ Π±ΡΡΡ Π±ΠΎΠ»ΡΡΠ΅ Π·Π½Π°ΡΠ΅Π½ΠΈΡ Π΄ΠΈΡΠ΅ΠΊΡΠΈΠ²Ρ upload_max_filesize. Π ΡΡΡΠ½ΠΎΡΡΠΈ, memory_limit Π΄ΠΎΠ»ΠΆΠ½Π° Π±ΡΡΡ Π±ΠΎΠ»ΡΡΠ΅ ΡΠ΅ΠΌ post_max_size. ΠΡΠ»ΠΈ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΡΡΡ integer, Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ ΠΈΠ·ΠΌΠ΅ΡΡΠ΅ΡΡΡ Π±Π°ΠΉΡΠ°ΠΌΠΈ. ΠΡ ΡΠ°ΠΊΠΆΠ΅ ΠΌΠΎΠΆΠ΅ΡΠ΅ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ ΡΠΎΠΊΡΠ°ΡΡΠ½Π½ΡΡ Π·Π°ΠΏΠΈΡΡ, ΠΊΠΎΡΠΎΡΠ°Ρ ΠΎΠΏΠΈΡΠ°Π½Π° Π²ΡΡΠ΅. ΠΡΠ»ΠΈ ΡΠ°Π·ΠΌΠ΅Ρ POST-Π΄Π°Π½Π½ΡΡ Π±ΠΎΠ»ΡΡΠ΅ ΡΠ΅ΠΌ post_max_size, ΡΡΠΏΠ΅ΡΠ³Π»ΠΎΠ±Π°Π»ΡΠ½ΡΠ΅ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΡΠ΅ $_POST ΠΈ $_FILES Π±ΡΠ΄ΡΡ ΠΏΡΡΡΡΠΌΠΈ. ΠΡΠΎ ΠΌΠΎΠΆΠ½ΠΎ ΠΎΡΡΠ»Π΅Π΄ΠΈΡΡ ΡΠ°Π·Π»ΠΈΡΠ½ΡΠΌΠΈ ΡΠΏΠΎΡΠΎΠ±Π°ΠΌΠΈ, Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ ΠΏΠ΅ΡΠ΅Π΄Π°Π² $_GET ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΡΡ Π² ΡΠΊΡΠΈΠΏΡ, ΠΎΠ±ΡΠ°Π±Π°ΡΡΠ²Π°ΡΡΠΈΠΉ Π΄Π°Π½Π½ΡΠ΅, Ρ.Π΅.
PHP memory limit β ΡΡΠΎ ΡΡΠΎ ΠΈ ΠΊΠ°ΠΊ Π΅Π³ΠΎ ΡΠ²Π΅Π»ΠΈΡΠΈΡΡ?
ΠΡΠΎΠ΄ΠΎΠ»ΠΆΠ°Π΅ΠΌ ΡΡΠ±ΡΠΈΠΊΡ Β«Π£ΡΠΈΠΌΡΡ Π²ΠΌΠ΅ΡΡΠ΅Β», ΠΈ Π² ΡΡΠΎΠΉ ΡΡΠ°ΡΡΠ΅ Ρ ΡΠ°ΡΡΠΊΠ°ΠΆΡ β ΡΡΠΎ ΡΠ°ΠΊΠΎΠ΅ PHP Memory Limit ΠΈ ΠΊΠ°ΠΊ ΡΠ²Π΅Π»ΠΈΡΠΈΡΡ Π½Π° ΡΠ²ΠΎΠ΅ΠΌ Π²Π΅Π±ΡΠ°ΠΉΡΠ΅ ΡΠ°ΠΌΠΎΡΡΠΎΡΡΠ΅Π»ΡΠ½ΠΎ. Π‘ΡΡΠ΅ΡΡΠ²ΡΠ΅Ρ Π²ΡΠ΅Π³ΠΎ ΡΡΠΈ ΡΠΏΠΎΡΠΎΠ±Π° ΠΎ ΠΊΠΎΡΠΎΡΡΡ ΠΈ ΠΏΠΎΠΉΠ΄Π΅Ρ ΡΠ΅ΡΡ Π² ΡΠ΅Π³ΠΎΠ΄Π½ΡΡΠ½Π΅ΠΌ ΠΌΠ°ΡΠ΅ΡΠΈΠ°Π»Π΅.
PHP Memory Limit β ΡΡΠΎ
ΠΠ°ΠΊΡΠΈΠΌΠ°Π»ΡΠ½ΡΠΉ Π»ΠΈΠΌΠΈΡ ΠΏΠ°ΠΌΡΡΠΈ PHP (Π½Π΅ ΠΏΡΡΠ°ΡΡ Ρ ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠ²Π½ΠΎΠΉ ΠΏΠ°ΠΌΡΡΡΡ RAM), ΠΊΠΎΡΠΎΡΠ°Ρ Π²ΡΠ΄Π΅Π»ΡΠ΅ΡΡΡ Π½Π° Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅ ΡΠΊΡΠΈΠΏΡΠΎΠ² ΠΈ ΡΡΠ΅Π½Π°ΡΠΈΠ΅Π² Π½Π° ΡΠ°ΠΉΡΠ΅. ΠΠ±ΡΡΠ½ΠΎ, PHP Mermory Limit Π½Π°ΡΡΡΠΎΠ΅Π½ ΠΏΠΎ ΡΠΌΠΎΠ»ΡΠ°Π½ΠΈΡ ΠΈ Π΅Π³ΠΎ Π½Π΅ Π½ΡΠΆΠ½ΠΎ ΡΡΠΎΠ³Π°ΡΡ, Π½ΠΎ Π±ΡΠ²Π°ΡΡ ΡΠ°ΠΉΡΡ ΡΠΎ ΡΠ»ΠΎΠΆΠ½ΡΠΌΠΈ ΠΈ Π³Π°Π±Π°ΡΠΈΡΠ½ΡΠΌΠΈ ΡΠΊΡΠΈΠΏΡΠ°ΠΌΠΈ (Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ, ΠΎΠ½Π»Π°ΠΉΠ½-ΠΊΠΎΠ½ΡΡΡΡΠΊΡΠΎΡΡ ΡΡΡΠ°Π½ΠΈΡ β Elementor, Divi ΠΈΠ»ΠΈ ΠΏΠ»Π°Π³ΠΈΠ½ ΠΈΠ½ΡΠ΅ΡΠ½Π΅Ρ-ΠΌΠ°Π³Π°Π·ΠΈΠ½Π° WooCommerce), Π° Π»ΠΈΠΌΠΈΡ Π½Π° ΡΠ΅ΡΠ²Π΅ΡΠ΅, ΠΊ ΠΏΡΠΈΠΌΠ΅ΡΡ, Π·Π°Π½ΠΈΠΆΠ΅Π½. Π’ΠΎΠ³Π΄Π° ΠΈ Π½ΡΠΆΠ½ΠΎ ΠΏΠΎΠ΄Π½ΠΈΠΌΠ°ΡΡ ΠΏΠ»Π°Π½ΠΊΡ, ΠΏΠΎΡΠΎΠΌΡ ΡΡΠΎ ΡΠΊΡΠΈΠΏΡΡ ΠΏΡΠΎΡΡΠΎ Π½Π΅ Π²ΠΏΠΈΡΡΡΡΡ Π² Π»ΠΈΠΌΠΈΡ ΠΈ Π·Π°Π΄Π°ΡΠΈ Π½Π΅ Π²ΡΠΏΠΎΠ»Π½ΡΡΡΡ.
ΠΡΠΈΠΌΠ΅Ρ ΠΎΡΠΈΠ±ΠΊΠΈ ΠΏΡΠ΅Π²ΡΡΠ΅Π½ΠΈΡ Π»ΠΈΠΌΠΈΡΠ° ΠΏΠ°ΠΌΡΡΠΈ PHP:
Fatal error: Allowed memory size of 134217728 bytes exhausted (tried to allocate 72 bytes)
ΠΠ΄Π½Π° ΠΈΠ· ΠΏΡΠΈΡΠΈΠ½, ΠΏΠΎ ΠΊΠΎΡΠΎΡΠΎΠΉ ΠΎΠ³ΡΠ°Π½ΠΈΡΠΈΠ²Π°Π΅ΡΡΡ ΠΊΠΎΠ»ΠΈΡΠ΅ΡΡΠ²ΠΎ PHP ΠΏΠ°ΠΌΡΡΠΈ β ΡΡΠΎΠ±Ρ Π½Π΅ Π΄Π°ΡΡ ΠΎΠ΄Π½ΠΎΠΌΡ ΡΠ°ΠΉΡΡ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ Π²ΡΠ΅ ΡΠ΅ΡΡΡΡΡ ΡΠ΅ΡΠ²Π΅ΡΠ° ΠΈ Π·Π°ΠΌΠ΅Π΄Π»ΠΈΡΡ Π΄ΡΡΠ³ΠΈΠ΅ ΡΠ°ΠΉΡΡ Π½Π° ΡΡΠΎΠΌ ΡΠ΅ΡΠ²Π΅ΡΠ΅. ΠΠΎΡΡΠΎΠΌΡ, Π½Π΅ ΡΡΠΎΠΈΡ ΡΡΡΠ°Π½Π°Π²Π»ΠΈΠ²Π°ΡΡ ΡΡΠΎΡ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡ ΡΠ»ΠΈΡΠΊΠΎΠΌ Π±ΠΎΠ»ΡΡΠΈΠΌ.
PHP Memory Limit Π½Π΅ ΠΏΠ°Π½Π°ΡΠ΅Ρ! Π£Π²Π΅Π»ΠΈΡΠΈΠ²Π°ΠΉΡΠ΅ ΡΠΎΠ»ΡΠΊΠΎ Π² ΠΊΡΠ°ΠΉΠ½ΠΈΡ ΡΠ»ΡΡΠ°ΡΡ .
ΠΡΠ΅ΠΆΠ΄Π΅, ΡΠ΅ΠΌ Ρ ΠΏΠΎΠ΄Π΅Π»ΡΡΡ Ρ Π²Π°ΠΌΠΈ ΡΡΠ΅ΠΌΡ ΡΠΏΠΎΡΠΎΠ±Π°ΠΌΠΈ ΠΊΠ°ΠΊ ΡΡΠΎ ΡΠ΄Π΅Π»Π°ΡΡ, Π΄Π°ΠΌ Π΅ΡΠ΅ Π½Π΅ΠΌΠ½ΠΎΠ³ΠΎ ΡΠ°ΠΊΡΠΎΠ²:
ΠΠ°ΠΊ ΡΠ²Π΅Π»ΠΈΡΠΈΡΡ PHP Memory Limit
Π Π΅Π΄Π°ΠΊΡΠΈΡΠΎΠ²Π°Π½ΠΈΠ΅ ΡΠ°ΠΉΠ»Π° PHP.INI
ΠΠ΅ΡΠ²ΠΎΠ΅, ΡΡΠΎ Π½ΡΠΆΠ½ΠΎ ΡΠ΄Π΅Π»Π°ΡΡ β ΡΠ·Π½Π°ΡΡ Π³Π΄Π΅ Ρ Π²Π°Ρ Π½Π° Ρ ΠΎΡΡΠΈΠ½Π³Π΅ Π»Π΅ΠΆΠΈΡ php.ini. ΠΡΠΆΠ½ΠΎ Π²ΡΠΏΠΎΠ»Π½ΠΈΡΡ Π½Π΅ ΡΠ»ΠΎΠΆΠ½ΡΡ ΠΌΠ°Π½ΠΈΠΏΡΠ»ΡΡΠΈΡ:
ΠΠ° Linux-ΡΠ΅ΡΠ²Π΅ΡΠ°Ρ , php.ini ΠΎΠ±ΡΡΠ½ΠΎ Π½Π°Ρ ΠΎΠ΄ΠΈΡΡΡ Π½Π° /usr/local/php/etc/.
ΠΠΎ, ΡΡΠΎΠ±Ρ Π΅Π³ΠΎ ΠΈΠ·ΠΌΠ΅Π½ΠΈΡΡ, Π½ΡΠΆΠ½ΠΎ Π²ΡΡΡΠ°Π²ΠΈΡΡ ΡΠ½Π°ΡΠ°Π»Π° ΠΏΡΠ°Π²Π° Π΄ΠΎΡΡΡΠΏΠ° 644, ΠΏΠΎ ΡΠΌΠΎΠ»ΡΠ°Π½ΠΈΡ Ρ Π½Π΅Π³ΠΎ 400:
Π Π΅Π΄Π°ΠΊΡΠΈΡΠΎΠ²Π°Π½ΠΈΠ΅ WP-CONFIG.PHP
ΠΡΠΎΡ ΠΌΠ΅ΡΠΎΠ΄ ΠΏΠΎΠ΄ΠΎΠΉΠ΄Π΅Ρ Π²ΡΠ΅ΠΌ Ρ ΠΊΠΎΠ³ΠΎ ΡΠ°ΠΉΡ Π½Π° WordPress. Π€Π°ΠΉΠ» Π½Π°Ρ ΠΎΠ΄ΠΈΡΡΡ Π² ΠΊΠΎΡΠ½Π΅Π²ΠΎΠΉ Π΄ΠΈΡΠ΅ΠΊΡΠΎΡΠΈΠΈ /.
ΠΡΠΊΡΠΎΠΉΡΠ΅ Π΅Π³ΠΎ, Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ, ΡΠ΅ΡΠ΅Π· FTP-ΠΊΠ»ΠΈΠ΅Π½Ρ:
ΠΠ°ΠΉΠ΄ΠΈΡΠ΅ ΡΡΡΠΎΠΊΡ define(‘WP_MEMORY_LIMIT’, ’64M’); ΠΈ ΠΏΡΠΎΡΡΠΎ ΠΈΠ·ΠΌΠ΅Π½ΠΈΡΠ΅ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅:
Π‘ΠΎΡ ΡΠ°Π½ΠΈΡΠ΅ ΡΠ°ΠΉΠ» ΠΈ ΠΎΡΠΈΡΡΠΈΡΠ΅ ΠΊΡΡ. ΠΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΡ Π²ΡΡΡΠΏΡΡ Π² ΡΠΈΠ»Ρ.
ΠΠ½Π°Π»ΠΎΠ³ΠΈΡΠ½ΠΎ Π½Π°Ρ ΠΎΠ΄ΠΈΡ Π² ΠΊΠΎΡΠ½Π΅Π²ΠΎΠΉ Π΄ΠΈΡΠ΅ΠΊΡΠΎΡΠΈΠΈ, ΠΎΡΠΊΡΡΠ²Π°Π΅ΠΌ ΠΈ Π΄ΠΎΠ±Π°Π²Π»ΡΠ΅ΠΌ ΡΡΡΠΎΠΊΡ Ρ Π½ΡΠΆΠ½ΡΠΌ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ΠΌ PHP Π»ΠΈΠΌΠΈΡΠ°:
php_value memory_limit 256M
Π‘ΠΎΡ ΡΠ°Π½ΡΠ΅ΠΌ, Π΄Π΅Π»Π°Π΅ΠΌ ΠΎΡΠΈΡΡΠΊΡ ΠΊΠ΅ΡΠ° ΠΈ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΡ Π΄ΠΎΠ»ΠΆΠ½Ρ Π²ΡΡΡΠΏΠΈΡΡ Π² ΡΠΈΠ»Ρ.
Π Π·Π°Π²ΠΈΡΠΈΠΌΠΎΡΡΠΈ, ΠΎΡ ΠΊΠΎΠ½ΡΠΈΠ³ΡΡΠ°ΡΠΈΠΈ Π²Π°ΡΠ΅Π³ΠΎ Π²Π΅Π±-ΡΠ΅ΡΠ²Π΅ΡΠ°, ΠΊΠ°ΠΊΠΎΠΉ-ΡΠΎ ΠΌΠ΅ΡΠΎΠ΄ ΠΌΠΎΠΆΠ΅Ρ ΡΠ°Π±ΠΎΡΠ°ΡΡ, ΠΊΠ°ΠΊΠΎΠΉ-ΡΠΎ Π½Π΅Ρ.
ΠΡΠΎ Π±ΠΎΠΈΡΡΡ ΠΈΠ·ΠΌΠ΅Π½ΡΡΡ PHP Memory Limit ΡΡΡΠΊΠ°ΠΌΠΈ, ΠΏΡΠ΅Π΄Π»Π°Π³Π°Ρ ΡΠΏΠ΅ΡΠΈΠ°Π»ΡΠ½ΡΠ΅ ΠΏΠ»Π°Π³ΠΈΠ½Ρ Π΄Π»Ρ WordPress.
php memory limit ΠΈΠ»ΠΈ ΠΊΠ°ΠΊ ΡΠ²Π΅Π»ΠΈΡΠΈΡΡ Π»ΠΈΠΌΠΈΡΡ Π½Π° ΡΠ°Π·ΠΌΠ΅Ρ Π·Π°Π³ΡΡΠΆΠ°Π΅ΠΌΡΡ ΡΠ°ΠΉΠ»ΠΎΠ² ΠΈ ΠΎΠ±ΡΠ΅ΠΌ Π²ΡΠ΄Π΅Π»ΡΠ΅ΠΌΠΎΠΉ ΠΏΠ°ΠΌΡΡΠΈ
ΠΡΠ»ΠΈ Π²Ρ Π·Π°ΠΏΡΡΠΊΠ°Π΅ΡΠ΅ ΡΠ°ΠΉΡ Ρ Π±ΠΎΠ»ΡΡΠΈΠΌ ΠΊΠΎΠ»ΠΈΡΠ΅ΡΡΠ²ΠΎΠΌ ΠΊΠΎΠ½ΡΠ΅Π½ΡΠ°, ΡΡΠΈ Π»ΠΈΠΌΠΈΡΡ ΠΌΠΎΠ³ΡΡ ΡΡΠ°ΡΡ ΠΏΡΠΎΠ±Π»Π΅ΠΌΠΎΠΉ. ΠΠΎΠΆΠ½ΠΎ ΠΏΠΎΠ»ΡΡΠΈΡΡ ΠΎΡΠΈΠ±ΠΊΡ ΠΏΡΠΈ Π·Π°Π³ΡΡΠ·ΠΊΠ΅:
ΠΡΠ»ΠΈ Π΄ΠΎΡΡΠΈΠ³Π½ΡΡ ΠΏΡΠ΅Π΄Π΅Π» Π²ΡΠ΄Π΅Π»ΡΠ΅ΠΌΠΎΠΉ ΠΏΠ°ΠΌΡΡΠΈ, ΡΠΎ Π²ΡΠ²Π΅Π΄Π΅ΡΡΡ Π΄ΡΡΠ³ΠΎΠ΅ ΡΠΎΠΎΠ±ΡΠ΅Π½ΠΈΠ΅ ΠΎΠ± ΠΎΡΠΈΠ±ΠΊΠ΅:
ΠΠ±Π½ΠΎΠ²Π»Π΅Π½ΠΈΠ΅ ΡΠ°ΠΉΠ»Π° php.ini
M β ΠΎΠ·Π½Π°ΡΠ°Π΅Ρ ΠΌΠ΅Π³Π°Π±Π°ΠΉΡΡ. ΠΠ·ΠΌΠ΅Π½ΠΈΡΠ΅ Π»ΠΈΠΌΠΈΡΡ 1000M, 2000M ΠΈ 3000M Π½Π° Π·Π½Π°ΡΠ΅Π½ΠΈΡ, ΠΊΠΎΡΠΎΡΡΠ΅ Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΡ. ΠΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠ΅ Π·Π½Π°ΡΠ΅Π½ΠΈΡ max_execution_time ΠΎΠ³ΡΠ°Π½ΠΈΡΠΈΡ Π²ΡΠ΅ΠΌΡ Π·Π°Π³ΡΡΠ·ΠΊΠΈ ΡΠΊΡΠΈΠΏΡΠ°.
ΠΠΎ ΠΌΠ½ΠΎΠ³ΠΈΡ ΡΠ»ΡΡΠ°ΡΡ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΠΌΡΠ΅ Π·Π½Π°ΡΠ΅Π½ΠΈΡ Π΄ΠΎΠ»ΠΆΠ½Ρ ΡΠ²Π΅Π»ΠΈΡΠΈΠ²Π°ΡΡΡΡ ΠΏΠΎ ΠΌΠ΅ΡΠ΅ ΠΏΠ΅ΡΠ΅Ρ ΠΎΠ΄Π° Π² ΡΠΏΠΈΡΠΊΠ΅ ΠΎΡ ΠΏΠ΅ΡΠ²ΠΎΠΉ Π΄ΠΎ ΡΡΠ΅ΡΡΠ΅ΠΉ ΡΡΡΠΎΠΊΠΈ. Upload_max_filesize Π΄ΠΎΠ»ΠΆΠ΅Π½ Π±ΡΡΡ ΡΠ°ΠΌΡΠΌ ΠΌΠ°Π»Π΅Π½ΡΠΊΠΈΠΌ, memory limit php ini β ΡΠ°ΠΌΡΠΌ Π±ΠΎΠ»ΡΡΠΈΠΌ. ΠΡΠΈ ΡΡΠΎΠΌ post_max_size Π΄ΠΎΠ»ΠΆΠ΅Π½ ΠΈΠΌΠ΅ΡΡ ΡΡΠ΅Π΄Π½Π΅Π΅ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅.
ΠΡΠ΅ΠΆΠ΄Π΅ ΡΠ΅ΠΌ ΠΏΡΠΎΠ²Π΅ΡΠΈΡΡ, Π½Π΅ ΠΈΡΡΠ΅Π·Π»Π° Π»ΠΈ ΠΎΡΠΈΠ±ΠΊΠ°, ΠΎΡΠΈΡΡΠΈΡΠ΅ ΠΊΡΡ Π±ΡΠ°ΡΠ·Π΅ΡΠ°.
ΠΠ·ΠΌΠ΅Π½ΠΈΡΠ΅ Π·Π½Π°ΡΠ΅Π½ΠΈΡ php ini set memory limit ΡΠ°ΠΊ, ΠΊΠ°ΠΊ Π²Π°ΠΌ Π½ΡΠΆΠ½ΠΎ. ΠΠ΅ Π·Π°Π±ΡΠ΄ΡΡΠ΅ ΡΠΎΡ ΡΠ°Π½ΠΈΡΡ ΡΠ°ΠΉΠ» ΠΈ ΠΎΡΠΈΡΡΠΈΡΡ ΠΊΡΡ Π±ΡΠ°ΡΠ·Π΅ΡΠ°.
ΠΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠ΅ ΡΠ°ΠΉΠ»Π° wp-config.php
Π‘ΠΎΡ ΡΠ°Π½ΠΈΡΠ΅ ΡΠ°ΠΉΠ» ΠΈ ΠΎΡΠΈΡΡΠΈΡΠ΅ ΠΊΡΡ Π±ΡΠ°ΡΠ·Π΅ΡΠ°.
ΠΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠ΅ Π»ΠΈΠΌΠΈΡΠΎΠ² Π² WHM
ΠΠ²Π΅Π΄ΠΈΡΠ΅ Π½ΡΠΆΠ½ΡΠ΅ Π²Π°ΠΌ Π·Π½Π°ΡΠ΅Π½ΠΈΡ ΠΈ Π½Π°ΠΆΠΌΠΈΡΠ΅ ΠΊΠ½ΠΎΠΏΠΊΡ Β« Π‘ΠΎΡ ΡΠ°Π½ΠΈΡΡ Β».
ΠΠ°ΠΆΠΌΠΈΡΠ΅ ΠΊΠ½ΠΎΠΏΠΊΡ Β« Π‘ΠΎΡ ΡΠ°Π½ΠΈΡΡ Β» ΠΈ ΠΎΡΠΈΡΡΠΈΡΠ΅ ΠΊΡΡ Π±ΡΠ°ΡΠ·Π΅ΡΠ°.
ΠΠ°ΠΊΠ»ΡΡΠ΅Π½ΠΈΠ΅
ΠΡΠ»ΠΈ Π½ΠΈ ΠΎΠ΄ΠΈΠ½ ΠΈΠ· Π²Π°ΡΠΈΠ°Π½ΡΠΎΠ² Π½Π΅ Π΄Π°Π» ΡΠ΅Π·ΡΠ»ΡΡΠ°ΡΠ°, ΡΠ²ΡΠΆΠΈΡΠ΅ΡΡ ΡΠΎ ΡΠ²ΠΎΠΈΠΌ Ρ ΠΎΡΡΠΈΠ½Π³-ΠΏΡΠΎΠ²Π°ΠΉΠ΄Π΅ΡΠΎΠΌ.
ΠΠΎΠΆΠ°Π»ΡΠΉΡΡΠ°, ΠΎΠΏΡΠ±Π»ΠΈΠΊΡΠΉΡΠ΅ Π²Π°ΡΠΈ ΠΊΠΎΠΌΠΌΠ΅Π½ΡΠ°ΡΠΈΠΈ ΠΏΠΎ ΡΠ΅ΠΊΡΡΠ΅ΠΉ ΡΠ΅ΠΌΠ΅ ΡΡΠ°ΡΡΠΈ. ΠΠ° ΠΊΠΎΠΌΠΌΠ΅Π½ΡΠ°ΡΠΈΠΈ, ΠΏΠΎΠ΄ΠΏΠΈΡΠΊΠΈ, Π΄ΠΈΠ·Π»Π°ΠΉΠΊΠΈ, ΠΎΡΠΊΠ»ΠΈΠΊΠΈ, Π»Π°ΠΉΠΊΠΈ ΠΎΠ³ΡΠΎΠΌΠ½ΠΎΠ΅ Π²Π°ΠΌ ΡΠΏΠ°ΡΠΈΠ±ΠΎ!
ΠΠ°ΠΊ ΡΠ²Π΅Π»ΠΈΡΠΈΡΡ ΠΏΠ°ΠΌΡΡΡ ΠΈ Π²ΡΠ΅ΠΌΡ Π΄Π»Ρ PHP ΡΠΊΡΠΈΠΏΡΠΎΠ²
ΠΠ°ΡΡΡΠΎΠΉΠΊΠΈ ΠΏΠΎΡΡΠ΅Π±Π»Π΅Π½ΠΈΡ ΡΠ΅ΡΡΡΡΠΎΠ² Π² PHP ΡΠΊΡΠΈΠΏΡΠ°Ρ ΠΌΠΎΠΆΠ½ΠΎ ΡΡΡΠ°Π½ΠΎΠ²ΠΈΡΡ Π² Π³Π»Π°Π²Π½ΠΎΠΌ ΠΊΠΎΠ½ΡΠΈΠ³ΡΡΠ°ΡΠΈΠΎΠ½Π½ΠΎΠΌ ΡΠ°ΠΉΠ»Π΅ php.ini, Π° ΡΠ°ΠΊΠΆΠ΅ Π² ΡΠ°ΠΌΠΈΡ ΡΠΊΡΠΈΠΏΡΠ°Ρ .
Π ΡΠ°ΠΉΠ»Π΅ php.ini Π·Π° ΡΡΠΎ ΠΎΡΠ²Π΅ΡΠ°ΡΡ Π΄ΠΈΡΠ΅ΠΊΡΠΈΠ²Ρ ΠΈΠ· ΡΠ°Π·Π΄Π΅Π»Π° Resource Limits (ΠΎΠ³ΡΠ°Π½ΠΈΡΠ΅Π½ΠΈΠ΅ ΠΏΠΎΡΡΠ΅Π±Π»Π΅Π½ΠΈΡ ΡΠ΅ΡΡΡΡΠΎΠ²).
ΠΠ°ΠΊ ΡΠ²Π΅Π»ΠΈΡΠΈΡΡ ΠΏΠ°ΠΌΡΡΡ Π΄Π»Ρ PHP ΡΠΊΡΠΈΠΏΡΠΎΠ²
ΠΠ»Ρ ΡΡΠΎΠ³ΠΎ Π² ΡΠ°ΠΉΠ»Π΅ php.ini Π½Π°ΠΉΠ΄ΠΈΡΠ΅ ΠΈ ΠΎΡΡΠ΅Π΄Π°ΠΊΡΠΈΡΡΠΉΡΠ΅ Π΄ΠΈΡΠ΅ΠΊΡΠΈΠ²Ρ:
ΠΡΠ° Π΄ΠΈΡΠ΅ΠΊΡΠΈΠ²Π° Π·Π°Π΄Π°ΡΡ ΠΌΠ°ΠΊΡΠΈΠΌΠ°Π»ΡΠ½ΠΎΠ΅ Π²ΡΠ΅ΠΌΡ Π² ΡΠ΅ΠΊΡΠ½Π΄Π°Ρ , Π² ΡΠ΅ΡΠ΅Π½ΠΈΠ΅ ΠΊΠΎΡΠΎΡΠΎΠ³ΠΎ ΡΠΊΡΠΈΠΏΡ Π΄ΠΎΠ»ΠΆΠ΅Π½ ΠΏΠΎΠ»Π½ΠΎΡΡΡΡ Π·Π°Π³ΡΡΠ·ΠΈΡΡΡΡ. ΠΡΠ»ΠΈ ΡΡΠΎΠ³ΠΎ Π½Π΅ ΠΏΡΠΎΠΈΡΡ ΠΎΠ΄ΠΈΡ, ΠΏΠ°ΡΡΠ΅Ρ Π·Π°Π²Π΅ΡΡΠ°Π΅Ρ ΡΠ°Π±ΠΎΡΡ ΡΠΊΡΠΈΠΏΡΠ°. ΠΡΠΎΡ ΠΌΠ΅Ρ Π°Π½ΠΈΠ·ΠΌ ΠΏΠΎΠΌΠΎΠ³Π°Π΅Ρ ΠΏΡΠ΅Π΄ΠΎΡΠ²ΡΠ°ΡΠΈΡΡ Π·Π°Π²ΠΈΡΠ°Π½ΠΈΠ΅ ΡΠ΅ΡΠ²Π΅ΡΠ° ΠΈΠ·-Π·Π° ΠΏΠ»ΠΎΡ ΠΎ Π½Π°ΠΏΠΈΡΠ°Π½Π½ΠΎΠ³ΠΎ ΡΠΊΡΠΈΠΏΡΠ°. ΠΠΎ ΡΠΌΠΎΠ»ΡΠ°Π½ΠΈΡ Π½Π° Π·Π°Π³ΡΡΠ·ΠΊΡ Π΄Π°ΡΡΡΡ 30 ΡΠ΅ΠΊΡΠ½Π΄. ΠΡΠ»ΠΈ PHP Π·Π°ΠΏΡΡΠ΅Π½ ΠΈΠ· ΠΊΠΎΠΌΠ°Π½Π΄Π½ΠΎΠΉ ΡΡΡΠΎΠΊΠΈ, ΡΡΠΎ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ ΠΏΠΎ ΡΠΌΠΎΠ»ΡΠ°Π½ΠΈΡ ΡΠ°Π²Π½ΠΎ 0.
ΠΠ° ΠΌΠ°ΠΊΡΠΈΠΌΠ°Π»ΡΠ½ΠΎΠ΅ Π²ΡΠ΅ΠΌΡ Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΡ Π½Π΅ Π²Π»ΠΈΡΡΡ ΡΠΈΡΡΠ΅ΠΌΠ½ΡΠ΅ Π²ΡΠ·ΠΎΠ²Ρ, ΠΏΠΎΡΠΎΠΊΠΎΠ²ΡΠ΅ ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠΈ ΠΈ Ρ.ΠΏ.
ΠΡΠΈ ΡΠ°Π±ΠΎΡΠ΅ Π² Π±Π΅Π·ΠΎΠΏΠ°ΡΠ½ΠΎΠΌ ΡΠ΅ΠΆΠΈΠΌΠ΅ ΡΡΡ Π½Π°ΡΡΡΠΎΠΉΠΊΡ Π½Π΅Π»ΡΠ·Ρ ΠΈΠ·ΠΌΠ΅Π½ΠΈΡΡ ΡΡΠ½ΠΊΡΠΈΠ΅ΠΉ ini_set(). ΠΡΠ»ΠΈ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ Π²ΡΠ΅ ΠΆΠ΅ Π½ΡΠΆΠ½ΠΎ ΠΈΠ·ΠΌΠ΅Π½ΠΈΡΡ, Π½Π°Π΄ΠΎ Π»ΠΈΠ±ΠΎ Π²ΡΠΊΠ»ΡΡΠΈΡΡ Π±Π΅Π·ΠΎΠΏΠ°ΡΠ½ΡΠΉ ΡΠ΅ΠΆΠΈΠΌ, Π»ΠΈΠ±ΠΎ ΠΈΠ·ΠΌΠ΅Π½ΠΈΡΡ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ ΠΏΡΡΠΌΠΎ Π² php.ini.
ΠΠ΅Π±-ΡΠ΅ΡΠ²Π΅ΡΡ ΠΎΠ±ΡΡΠ½ΠΎ ΠΈΠΌΠ΅ΡΡ ΡΠ²ΠΎΠΈ Π½Π°ΡΡΡΠΎΠΉΠΊΠΈ ΡΠ°ΠΉΠΌ-Π°ΡΡΠ°, ΠΏΠΎ ΠΈΡΡΠ΅ΡΠ΅Π½ΠΈΠΈ ΠΊΠΎΡΠΎΡΠΎΠ³ΠΎ ΡΠ°ΠΌΠΈ Π·Π°Π²Π΅ΡΡΠ°ΡΡ Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅ ΡΠΊΡΠΈΠΏΡΠ° PHP. Π Apache Π΅ΡΡΡ Π΄ΠΈΡΠ΅ΠΊΡΠΈΠ²Π° Timeout, Π² IIS Π΅ΡΡΡ ΡΡΠ½ΠΊΡΠΈΡ CGI timeout. Π ΠΎΠ±ΠΎΠΈΡ ΡΠ»ΡΡΠ°ΡΡ ΠΏΠΎ ΡΠΌΠΎΠ»ΡΠ°Π½ΠΈΡ ΡΡΡΠ°Π½ΠΎΠ²Π»Π΅Π½ΠΎ 300 ΡΠ΅ΠΊΡΠ½Π΄. Π’ΠΎΡΠ½ΡΠ΅ Π·Π½Π°ΡΠ΅Π½ΠΈΡ ΠΌΠΎΠΆΠ½ΠΎ ΡΠ·Π½Π°ΡΡ ΠΈΠ· Π΄ΠΎΠΊΡΠΌΠ΅Π½ΡΠ°ΡΠΈΠΈ ΠΊ Π²Π΅Π±-ΡΠ΅ΡΠ²Π΅ΡΡ.
Π€ΡΠ½ΠΊΡΠΈΡ Π΄Π»Ρ ΡΠ²Π΅Π»ΠΈΡΠ΅Π½ΠΈΡ ΠΈ ΠΎΠ³ΡΠ°Π½ΠΈΡΠ΅Π½ΠΈΡ Π²ΡΠ΅ΠΌΠ΅Π½ΠΈ Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΡ PHP
Π€ΡΠ½ΠΊΡΠΈΡ set_time_limit ΠΎΠ³ΡΠ°Π½ΠΈΡΠΈΠ²Π°Π΅Ρ Π²ΡΠ΅ΠΌΡ Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΡ ΡΠΊΡΠΈΠΏΡΠ°.
ΠΠ½Π° Π·Π°Π΄Π°Π΅Ρ Π²ΡΠ΅ΠΌΡ Π² ΡΠ΅ΠΊΡΠ½Π΄Π°Ρ , Π² ΡΠ΅ΡΠ΅Π½ΠΈΠ΅ ΠΊΠΎΡΠΎΡΠΎΠ³ΠΎ ΡΠΊΡΠΈΠΏΡ Π΄ΠΎΠ»ΠΆΠ΅Π½ Π·Π°Π²Π΅ΡΡΠΈΡΡ ΡΠ°Π±ΠΎΡΡ. ΠΡΠ»ΠΈ ΡΠΊΡΠΈΠΏΡ Π½Π΅ ΡΡΠΏΠ΅Π²Π°Π΅Ρ, Π²ΡΠ·ΡΠ²Π°Π΅ΡΡΡ ΡΠ°ΡΠ°Π»ΡΠ½Π°Ρ ΠΎΡΠΈΠ±ΠΊΠ°. ΠΠΎ ΡΠΌΠΎΠ»ΡΠ°Π½ΠΈΡ Π΄Π°Π΅ΡΡΡ 30 ΡΠ΅ΠΊΡΠ½Π΄, Π»ΠΈΠ±ΠΎ Π²ΡΠ΅ΠΌΡ, Π·Π°ΠΏΠΈΡΠ°Π½Π½ΠΎΠ΅ Π² Π½Π°ΡΡΡΠΎΠΉΠΊΠ΅ max_execution_time Π² php.ini (Π΅ΡΠ»ΠΈ ΡΠ°ΠΊΠ°Ρ Π½Π°ΡΡΡΠΎΠΉΠΊΠ° ΡΡΡΠ°Π½ΠΎΠ²Π»Π΅Π½Π°).
ΠΡΠΈ Π²ΡΠ·ΠΎΠ²Π΅ set_time_limit() ΠΏΠ΅ΡΠ΅Π·Π°ΠΏΡΡΠΊΠ°Π΅Ρ ΡΡΠ΅ΡΡΠΈΠΊ Ρ Π½ΡΠ»Ρ. ΠΡΡΠ³ΠΈΠΌΠΈ ΡΠ»ΠΎΠ²Π°ΠΌΠΈ, Π΅ΡΠ»ΠΈ ΡΠ°ΠΉΠΌ-Π°ΡΡ ΠΈΠ·Π½Π°ΡΠ°Π»ΡΠ½ΠΎ Π±ΡΠ» 30 ΡΠ΅ΠΊΡΠ½Π΄, ΠΈ ΡΠ΅ΡΠ΅Π· 25 ΡΠ΅ΠΊΡΠ½Π΄ ΠΏΠΎΡΠ»Π΅ Π·Π°ΠΏΡΡΠΊΠ° ΡΠΊΡΠΈΠΏΡΠ° Π±ΡΠ΄Π΅Ρ Π²ΡΠ·Π²Π°Π½Π° ΡΡΠ½ΠΊΡΠΈΡ set_time_limit(20), ΡΠΎ ΡΠΊΡΠΈΠΏΡ Π±ΡΠ΄Π΅Ρ ΡΠ°Π±ΠΎΡΠ°ΡΡ ΠΌΠ°ΠΊΡΠΈΠΌΡΠΌ 45 ΡΠ΅ΠΊΡΠ½Π΄.
ΠΠΎΠ·Π²ΡΠ°ΡΠ°Π΅ΠΌΡΠ΅ Π·Π½Π°ΡΠ΅Π½ΠΈΡ: Π²ΠΎΠ·Π²ΡΠ°ΡΠ°Π΅Ρ TRUE Π² ΡΠ»ΡΡΠ°Π΅ ΡΡΠΏΠ΅Ρ Π°, ΠΈΠ½Π°ΡΠ΅ FALSE.
ΠΠ½ΠΈΠΌΠ°Π½ΠΈΠ΅: ΡΡΠ° ΡΡΠ½ΠΊΡΠΈΡ Π½Π΅ ΡΠ°Π±ΠΎΡΠ°Π΅Ρ, Π΅ΡΠ»ΠΈ PHP ΡΠ°Π±ΠΎΡΠ°Π΅Ρ Π² Π±Π΅Π·ΠΎΠΏΠ°ΡΠ½ΠΎΠΌ ΡΠ΅ΠΆΠΈΠΌΠ΅. ΠΠ±ΠΎΠΉΡΠΈ ΡΡΠΎ ΠΎΠ³ΡΠ°Π½ΠΈΡΠ΅Π½ΠΈΠ΅ ΠΌΠΎΠΆΠ½ΠΎ ΡΠΎΠ»ΡΠΊΠΎ Π²ΡΠΊΠ»ΡΡΠΈΠ² Π±Π΅Π·ΠΎΠΏΠ°ΡΠ½ΡΠΉ ΡΠ΅ΠΆΠΈΠΌ ΠΈΠ»ΠΈ ΠΈΠ·ΠΌΠ΅Π½ΠΈΠ² Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ Π½Π°ΡΡΡΠΎΠΉΠΊΠΈ Π² php.ini.
ΠΠ°ΠΌΠ΅ΡΠ°Π½ΠΈΠ΅: ΡΡΠ½ΠΊΡΠΈΡ set_time_limit() ΠΈ Π΄ΠΈΡΠ΅ΠΊΡΠΈΠ²Π° max_execution_time Π²Π»ΠΈΡΡΡ Π½Π° Π²ΡΠ΅ΠΌΡ Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΡ ΡΠΎΠ»ΡΠΊΠΎ ΡΠ°ΠΌΠΎΠ³ΠΎ ΡΠΊΡΠΈΠΏΡΠ°. ΠΡΠ΅ΠΌΡ, Π·Π°ΡΡΠ°ΡΠ΅Π½Π½ΠΎΠ΅ Π½Π° ΡΠ°Π·Π»ΠΈΡΠ½ΡΠ΅ Π΄Π΅ΠΉΡΡΠ²ΠΈΡ Π²Π½Π΅ ΡΠΊΡΠΈΠΏΡΠ°, ΡΠ°ΠΊΠΈΠ΅ ΠΊΠ°ΠΊ ΡΠΈΡΡΠ΅ΠΌΠ½ΡΠ΅ Π²ΡΠ·ΠΎΠ²Ρ ΡΡΠ½ΠΊΡΠΈΠΈ system(), ΠΏΠΎΡΠΎΠΊΠΎΠ²ΡΠ΅ ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠΈ, Π·Π°ΠΏΡΠΎΡΡ ΠΊ Π±Π°Π·Π°ΠΌ Π΄Π°Π½Π½ΡΡ ΠΈ Ρ.ΠΏ. Π½Π΅ Π²ΠΊΠ»ΡΡΠ°ΡΡΡΡ Π² ΡΠ°ΡΡΠ΅Ρ Π²ΡΠ΅ΠΌΠ΅Π½ΠΈ Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΡ ΡΠΊΡΠΈΠΏΡΠ°. ΠΡΠΎ Π½Π΅ ΠΎΡΠ½ΠΎΡΠΈΡΡΡ ΠΊ ΡΠΈΡΡΠ΅ΠΌΠ°ΠΌ Windows, Π³Π΄Π΅ ΡΠ°ΡΡΠΈΡΡΠ²Π°Π΅ΡΡΡ Π°Π±ΡΠΎΠ»ΡΡΠ½ΠΎΠ΅ Π²ΡΠ΅ΠΌΡ Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΡ.
ΠΠ±Π΅ set_time_limit(β¦) ΠΈ ini_set(‘max_execution_time’,β¦); Π½Π΅ ΡΡΠΈΡΡΠ²Π°ΡΡ Π²ΡΠ΅ΠΌΡ, ΠΏΠΎΡΡΠ°ΡΠ΅Π½Π½ΠΎΠ΅ ΡΡΠ½ΠΊΡΠΈΡΠΌΠΈ sleep, file_get_contents, shell_exec, mysql_query ΠΈ Π½Π΅ΠΊΠΎΡΠΎΡΡΠΌΠΈ Π΄ΡΡΠ³ΠΈΠΌΠΈ.
Π£Π²Π΅Π»ΠΈΡΠ΅Π½ΠΈΠ΅ Π²ΡΠ΄Π΅Π»Π΅Π½Π½ΠΎΠΉ ΠΏΠ°ΠΌΡΡΠΈ Π΄Π»Ρ PHP ΡΠΊΡΠΈΠΏΡΠΎΠ²
ΠΠΈΡΠ΅ΠΊΡΠΈΠ²Π° Π² ΡΠ°ΠΉΠ»Π΅ php.ini
Π·Π°Π΄Π°ΡΡ ΠΌΠ°ΠΊΡΠΈΠΌΠ°Π»ΡΠ½ΡΠΉ ΠΎΠ±ΡΠ΅ΠΌ ΠΏΠ°ΠΌΡΡΠΈ Π² Π±Π°ΠΉΡΠ°Ρ , ΠΊΠΎΡΠΎΡΡΠΉ ΡΠ°Π·ΡΠ΅ΡΠ°Π΅ΡΡΡ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ ΡΠΊΡΠΈΠΏΡΡ. ΠΡΠΎ ΠΏΠΎΠΌΠΎΠ³Π°Π΅Ρ ΠΏΡΠ΅Π΄ΠΎΡΠ²ΡΠ°ΡΠΈΡΡ ΡΠΈΡΡΠ°ΡΠΈΡ, ΠΏΡΠΈ ΠΊΠΎΡΠΎΡΠΎΠΉ ΠΏΠ»ΠΎΡ ΠΎ Π½Π°ΠΏΠΈΡΠ°Π½Π½ΡΠΉ ΡΠΊΡΠΈΠΏΡ ΡΡΠ΅Π΄Π°Π΅Ρ Π²ΡΡ Π΄ΠΎΡΡΡΠΏΠ½ΡΡ ΠΏΠ°ΠΌΡΡΡ ΡΠ΅ΡΠ²Π΅ΡΠ°. ΠΠ»Ρ ΡΠΎΠ³ΠΎ, ΡΡΠΎΠ±Ρ ΡΠ±ΡΠ°ΡΡ ΠΎΠ³ΡΠ°Π½ΠΈΡΠ΅Π½ΠΈΡ, ΡΡΡΠ°Π½ΠΎΠ²ΠΈΡΠ΅ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ ΡΡΠΎΠΉ Π΄ΠΈΡΠ΅ΠΊΡΠΈΠ²Ρ Π² -1.
Π Π²Π΅ΡΡΠΈΡΡ Π΄ΠΎ PHP 5.2.1 Π΄Π»Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΡ ΡΡΠΎΠΉ Π΄ΠΈΡΠ΅ΠΊΡΠΈΠ²Ρ, ΠΎΠ½Π° Π΄ΠΎΠ»ΠΆΠ½Π° Π±ΡΠ»Π° Π±ΡΡΡ ΡΠΊΠ°Π·Π°Π½Π° Π½Π° ΡΡΠ°ΠΏΠ΅ ΠΊΠΎΠΌΠΏΠΈΠ»ΡΡΠΈΠΈ. Π’Π°ΠΊ, Π²Π°ΡΠ° ΡΡΡΠΎΠΊΠ° ΠΊΠΎΠ½ΡΠΈΠ³ΡΡΠ°ΡΠΈΠΈ Π΄ΠΎΠ»ΠΆΠ½Π° Π±ΡΠ»Π° Π²ΠΊΠ»ΡΡΠ°ΡΡ: —enable-memory-limit. ΠΡΠ° ΠΎΠΏΡΠΈΡ ΠΊΠΎΠΌΠΏΠΈΠ»ΡΡΠΈΠΈ Π±ΡΠ»Π° ΡΠ°ΠΊΠΆΠ΅ Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΠ° Π΄Π»Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΡ ΡΡΠ½ΠΊΡΠΈΠΉ memory_get_usage() ΠΈ memory_get_peak_usage() Π΄ΠΎ Π²Π΅ΡΡΠΈΠΈ 5.2.1.
ΠΡΠ»ΠΈ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΡΡΡ ΡΠ΅Π»ΠΎΠ΅ ΡΠΈΡΠ»ΠΎ, ΡΠΎ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ ΠΈΠ·ΠΌΠ΅ΡΡΠ΅ΡΡΡ Π±Π°ΠΉΡΠ°ΠΌΠΈ. ΠΡ ΡΠ°ΠΊΠΆΠ΅ ΠΌΠΎΠΆΠ΅ΡΠ΅ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ ΡΠΎΠΊΡΠ°ΡΡΠ½Π½ΡΡ Π·Π°ΠΏΠΈΡΡ.
ΠΠΎΡΡΡΠΏΠ½ΡΠ΅ ΠΎΠΏΡΠΈΠΈ: K (Π΄Π»Ρ ΠΊΠΈΠ»ΠΎΠ±Π°ΠΉΡ), M (Π΄Π»Ρ ΠΌΠ΅Π³Π°Π±Π°ΠΉΡ) ΠΈ G (Π΄Π»Ρ Π³ΠΈΠ³Π°Π±Π°ΠΉΡ; Π΄ΠΎΡΡΡΠΏΠ½Π° Π½Π°ΡΠΈΠ½Π°Ρ Ρ PHP 5.1.0); ΠΎΠ½ΠΈ ΡΠ΅Π³ΠΈΡΡΡΠΎΠ½Π΅Π·Π°Π²ΠΈΡΠΈΠΌΡ. ΠΡΠ΅ ΠΎΡΡΠ°Π»ΡΠ½ΠΎΠ΅ ΡΡΠΈΡΠ°Π΅ΡΡΡ Π±Π°ΠΉΡΠ°ΠΌΠΈ. 1M ΡΠ°Π²Π½ΠΎ ΠΎΠ΄Π½ΠΎΠΌΡ ΠΌΠ΅Π³Π°Π±Π°ΠΉΡΡ ΠΈΠ»ΠΈ 1048576 Π±Π°ΠΉΡΠ°ΠΌ. 1K ΡΠ°Π²Π½ΠΎ ΠΎΠ΄Π½ΠΎΠΌΡ ΠΊΠΈΠ»ΠΎΠ±Π°ΠΉΡΡ ΠΈΠ»ΠΈ 1024 Π±Π°ΠΉΡΠ°ΠΌ. ΠΡΠΈ ΡΠΎΠΊΡΠ°ΡΠ΅Π½ΠΈΡ Π²Ρ ΠΌΠΎΠΆΠ΅ΡΠ΅ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ Π² php.ini ΠΈ Π² ΡΡΠ½ΠΊΡΠΈΠΈ ini_set(). ΠΠ±ΡΠ°ΡΠΈΡΠ΅ Π²Π½ΠΈΠΌΠ°Π½ΠΈΠ΅, ΡΡΠΎ ΡΠΈΡΠ»ΠΎΠ²ΠΎΠ΅ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ ΠΏΡΠΈΠ²ΠΎΠ΄ΠΈΡΡΡ ΠΊ ΡΠΈΠΏΡ integer; Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ, 0.5M ΠΈΠ½ΡΠ΅ΡΠΏΡΠ΅ΡΠΈΡΡΠ΅ΡΡΡ ΠΊΠ°ΠΊ 0.
Π£Π²Π΅Π»ΠΈΡΠ΅Π½ΠΈΠ΅ Π²ΡΠ΅ΠΌΠ΅Π½ΠΈ ΠΏΠ°ΡΡΠΈΠ½Π³Π° Π΄Π°Π½Π½ΡΡ ΠΈΠ· Π·Π°ΠΏΡΠΎΡΠ°.
ΠΠΈΡΠ΅ΠΊΡΠΈΠ²Π° Π² ΡΠ°ΠΉΠ»Π΅ php.ini
Π·Π°Π΄Π°ΡΡ ΠΌΠ°ΠΊΡΠΈΠΌΠ°Π»ΡΠ½ΠΎΠ΅ Π²ΡΠ΅ΠΌΡ Π² ΡΠ΅ΠΊΡΠ½Π΄Π°Ρ , Π² ΡΠ΅ΡΠ΅Π½ΠΈΠ΅ ΠΊΠΎΡΠΎΡΠΎΠ³ΠΎ ΡΠΊΡΠΈΠΏΡ Π΄ΠΎΠ»ΠΆΠ΅Π½ ΡΠ°Π·ΠΎΠ±ΡΠ°ΡΡ Π²ΡΠ΅ Π²Ρ ΠΎΠ΄Π½ΡΠ΅ Π΄Π°Π½Π½ΡΠ΅, ΠΏΠ΅ΡΠ΅Π΄Π°Π½Π½ΡΠ΅ Π·Π°ΠΏΡΠΎΡΠ°ΠΌΠΈ Π²ΡΠΎΠ΄Π΅ POST ΠΈΠ»ΠΈ GET. ΠΡΠΎ Π²ΡΠ΅ΠΌΡ ΠΈΠ·ΠΌΠ΅ΡΡΠ΅ΡΡΡ ΠΎΡ ΠΌΠΎΠΌΠ΅Π½ΡΠ°, ΠΊΠΎΠ³Π΄Π° PHP Π²ΡΠ·Π²Π°Π½ Π½Π° ΡΠ΅ΡΠ²Π΅ΡΠ΅ Π΄ΠΎ ΠΌΠΎΠΌΠ΅Π½ΡΠ°, ΠΊΠΎΠ³Π΄Π° ΡΠΊΡΠΈΠΏΡ Π½Π°ΡΠΈΠ½Π°Π΅Ρ Π²ΡΠΏΠΎΠ»Π½ΡΡΡΡΡ. ΠΠ½Π°ΡΠ΅Π½ΠΈΠ΅ ΠΏΠΎ ΡΠΌΠΎΠ»ΡΠ°Π½ΠΈΡ -1, ΡΡΠΎ ΠΎΠ·Π½Π°ΡΠ°Π΅Ρ, ΡΡΠΎ Π±ΡΠ΄Π΅Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡΡΡ max_execution_time. ΠΡΠ»ΠΈ ΡΡΡΠ°Π½ΠΎΠ²ΠΈΡΡ ΡΠ°Π²Π½ΡΠΌ 0, ΡΠΎ ΠΎΠ³ΡΠ°Π½ΠΈΡΠ΅Π½ΠΈΠΉ ΠΏΠΎ Π²ΡΠ΅ΠΌΠ΅Π½ΠΈ Π½Π΅ Π±ΡΠ΄Π΅Ρ.
ΠΡΠΈ Π·Π°ΠΏΡΡΠΊΠ΅ Π² ΠΊΠΎΠΌΠ°Π½Π΄Π½ΠΎΠΉ ΡΡΡΠΎΠΊΠ΅ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ Π΄ΠΈΡΠ΅ΠΊΡΠΈΠ²Ρ ΡΡΡΠ°Π½ΠΎΠ²Π»Π΅Π½ΠΎ Π½Π° -1 (Π½Π΅ΠΎΠ³ΡΠ°Π½ΠΈΡΠ΅Π½Π½ΠΎ).
Π£Π²Π΅Π»ΠΈΡΠ΅Π½ΠΈΠ΅ Π³Π»ΡΠ±ΠΈΠ½Ρ Π²Π»ΠΎΠΆΠ΅Π½Π½ΠΎΡΡΠΈ Π²Ρ ΠΎΠ΄Π½ΡΡ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΡΡ
ΠΠΈΡΠ΅ΠΊΡΠΈΠ²Π° Π² ΡΠ°ΠΉΠ»Π΅ php.ini
ΠΠ³ΡΠ°Π½ΠΈΡΠ΅Π½ΠΈΠ΅ Π½Π° ΠΊΠΎΠ»ΠΈΡΠ΅ΡΡΠ²ΠΎ Π²Ρ ΠΎΠ΄Π½ΡΡ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΡΡ
ΠΠΈΡΠ΅ΠΊΡΠΈΠ²Π° Π² ΡΠ°ΠΉΠ»Π΅ php.ini
ΠΠ½ΠΈΠΌΠ°Π½ΠΈΠ΅: ΠΏΠΎΡΠ»Π΅ Π²Π½Π΅ΡΠ΅Π½ΠΈΡ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠΉ Π² ΡΠ°ΠΉΠ» php.ini Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΠΎ ΠΏΠ΅ΡΠ΅Π·Π°Π³ΡΡΠ·ΠΈΡΡ Π²Π΅Π±-ΡΠ΅ΡΠ²Π΅Ρ, ΡΡΠΎΠ±Ρ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΡ Π²ΡΡΡΠΏΠΈΠ»ΠΈ Π² ΡΠΈΠ»Ρ.
ΠΡΠΎΠ²Π΅ΡΠΊΠ° ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠ΅ ΡΠ΅ΡΡΡΡΠΎΠ²
Π€ΡΠ½ΠΊΡΠΈΡ getrusage ΠΏΠΎΠ»ΡΡΠ°Π΅Ρ ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΡ ΠΎΠ± ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠΈ ΡΠ΅ΠΊΡΡΠ΅Π³ΠΎ ΡΠ΅ΡΡΡΡΠ°.
ΠΠΎΠ·Π²ΡΠ°ΡΠ°Π΅ΠΌΡΠ΅ Π·Π½Π°ΡΠ΅Π½ΠΈΡ: Π²ΠΎΠ·Π²ΡΠ°ΡΠ°Π΅Ρ Π°ΡΡΠΎΡΠΈΠ°ΡΠΈΠ²Π½ΡΠΉ ΠΌΠ°ΡΡΠΈΠ², ΡΠΎΠ΄Π΅ΡΠΆΠ°ΡΠΈΠΉ Π΄Π°Π½Π½ΡΠ΅ Π²ΠΎΠ·Π²ΡΠ°ΡΡΠ½Π½ΡΠ΅ ΠΈΠ· ΡΠΈΡΡΠ΅ΠΌΠ½ΠΎΠ³ΠΎ Π²ΡΠ·ΠΎΠ²Π°. ΠΠΌΠ΅Π½Π° ΡΠ»Π΅ΠΌΠ΅Π½ΡΠΎΠ² ΡΠΎΠΎΡΠ²Π΅ΡΡΡΠ²ΡΡΡ Π΄ΠΎΠΊΡΠΌΠ΅Π½ΡΠΈΡΠΎΠ²Π°Π½Π½ΡΠΌ ΠΈΠΌΠ΅Π½Π°ΠΌ ΠΏΠΎΠ»Π΅ΠΉ.
ΠΠ°ΠΊ ΡΠ²Π΅Π»ΠΈΡΠΈΡΡ memory_limit
Π§ΡΠΎΠ±Ρ ΡΠ²Π΅Π»ΠΈΡΠΈΡΡ ΡΠ°Π·ΠΌΠ΅Ρ ΠΌΠ°ΠΊΡΠΈΠΌΠ°Π»ΡΠ½ΠΎ Π΄ΠΎΡΡΡΠΏΠ½ΠΎΠΉ ΠΏΠ°ΠΌΡΡΠΈ Π² PHP, Π΄ΠΎΡΡΠ°ΡΠΎΡΠ½ΠΎ Π²ΡΠ·Π²Π°ΡΡ ΡΡΠ½ΠΊΡΠΈΡ:
ini_set(‘memory_limit’, ‘**128M**’);
## Π£Π²Π΅Π»ΠΈΡΠΈΡ ΠΌΠ°ΠΊΡΠΈΠΌΠ°Π»ΡΠ½ΡΡ ΠΏΠ°ΠΌΡΡΡ Π΄ΠΎ 128ΠΠ± Π΄Π»Ρ ΡΠΊΡΠΈΠΏΡΠ°
Π£Π΄ΠΎΠ±Π½Π΅Π΅ ΡΠΊΠ°Π·Π°ΡΡ ΡΡΡ Π½Π°ΡΡΡΠΎΠΉΠΊΡ Π² php.ini, Π΅ΡΠ»ΠΈ Π½ΡΠΆΠ½ΠΎ ΡΠ²Π΅Π»ΠΈΡΠΈΡΡ ΠΏΠ°ΠΌΡΡΡ ΡΡΠ°Π·Ρ Π΄Π»Ρ Π²ΡΠ΅Ρ
ΡΠΊΡΠΈΠΏΡΠΎΠ²:
memory_limit = ** 128M**
## Π£Π²Π΅Π»ΠΈΡΠΈΡ ΠΌΠ°ΠΊΡΠΈΠΌΠ°Π»ΡΠ½ΡΡ ΠΏΠ°ΠΌΡΡΡ Π΄ΠΎ 128M Π΄Π»Ρ Π²ΡΠ΅Ρ
ΡΠΊΡΠΈΠΏΡΠΎΠ² Π½Π° ΡΠ΅ΡΠ²Π΅ΡΠ΅
ΠΠ½Π°Π»ΠΈΠ· ΠΌΠ΅Π΄Π»Π΅Π½Π½ΡΡ PHP ΡΠΊΡΠΈΠΏΡΠΎΠ² Ρ ΠΏΠΎΠΌΠΎΡΡΡ XHprof
ΠΡΠΈΠΌΠ΅Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΡ ΠΎΡΠ΅ΡΠ΅Π΄Π΅ΠΉ Π½Π° beanstalkd
ΠΡΠ°Π²ΠΈΠ»ΡΠ½ΡΠΉ ΠΏΠΎΠ΄Ρ ΠΎΠ΄ Π΄Π»Ρ ΠΊΡΡΠΈΡΠΎΠ²Π°Π½ΠΈΡ ΡΡΠΆΠ΅Π»ΡΡ Π·Π°ΠΏΡΠΎΡΠΎΠ²
ΠΠ°ΠΊ ΡΠ°Π±ΠΎΡΠ°ΡΡ Ρ Vertica ΠΈΠ· PHP Ρ ΠΌΠΎΠ΄ΡΠ»Π΅ΠΌ ODBC
ΠΠ°ΠΊ Π²ΠΊΠ»ΡΡΠΈΡΡ Ρ ΡΠ°Π½Π΅Π½ΠΈΠ΅ PHP ΡΠ΅ΡΡΠΈΠΉ Π² Memcache
Π§ΡΠΎ Π΄Π΅Π»Π°ΡΡ, Π΅ΡΠ»ΠΈ ΡΠ°ΡΡΡ Π»ΠΎΠ³ΠΈΠΊΠΈ Π½Π°ΠΏΠΈΡΠ°Π½Π° Π½Π° PHP, Π° ΡΠ°ΡΡΡ Π½Π° NodeJS
Nohup Π΄Π»Ρ Π·Π°ΠΏΡΡΠΊΠ° ΡΠΊΡΠΈΠΏΡΠ° Π² ΡΠΎΠ½Π΅
ΠΡΡ ΠΈΡΠ΅ΠΊΡΡΡΠ½ΡΠ΅ ΠΏΡΠΈΠ½ΡΠΈΠΏΡ Π²ΡΡΠΎΠΊΠΎΠ½Π°Π³ΡΡΠΆΠ΅Π½Π½ΡΡ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ
ΠΠ°ΠΊ ΡΠ°Π±ΠΎΡΠ°Π΅Ρ Server-Sent API Ρ ΠΏΡΠΈΠΌΠ΅ΡΠ°ΠΌΠΈ
ΠΠ΅ΡΠΎΠ΄Ρ Π°ΡΠΈΠ½Ρ ΡΠΎΠ½Π½ΡΡ Π²ΡΠ·ΠΎΠ²ΠΎΠ² Π² PHP
ΠΡΠΈΡΠΈΠ½Ρ ΠΈ ΠΌΠ΅ΡΠΎΠ΄Ρ ΠΈΠ·Π±Π°Π²Π»Π΅Π½ΠΈΡ ΠΎΡ ΡΡΠΎΠΉ ΠΎΡΠΈΠ±ΠΊΠΈ
ΠΠ°ΠΊ ΡΠ»ΡΡΡΠΈΡΡ Π²ΡΠ΅ΠΌΡ ΠΏΠΎΠ»ΡΡΠ΅Π½ΠΈΡ ΠΏΠ΅ΡΠ²ΠΎΠ³ΠΎ Π±Π°ΠΉΡΠ° ΠΈ ΠΎΡΠ·ΡΠ²ΡΠΈΠ²ΠΎΡΡΡ Π²Π΅Π±-ΡΠ΅ΡΠ²Π΅ΡΠ°
ΠΠΎΡΠΎΡΠΊΠΈΠ΅ ΠΏΠΎΠ΄ΡΠΊΠ°Π·ΠΊΠΈ Π΄Π»Ρ ΡΠΎΠ·Π΄Π°Π½ΠΈΡ Π±ΡΡΡΡΡΡ PHP ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ
Π§ΡΠΎ ΡΠ°ΠΊΠΎΠ΅ ΠΎΡΠΊΠ°Π·ΠΎΡΡΡΠΎΠΉΡΠΈΠ²ΠΎΡΡΡ ΠΈ ΠΊΠ°ΠΊ Π΅Π΅ ΡΠ΅Π°Π»ΠΈΠ·ΠΎΠ²Π°ΡΡ Π² PHP-ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡΡ
ΠΡΠΈΠΌΠ΅Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΡ ΠΎΡΠ΅ΡΠ΅Π΄Π΅ΠΉ Π½Π° ΠΎΡΠ½ΠΎΠ²Π΅ Gearman ΠΈ PHP
Π£Π»ΡΡΡΠ΅Π½ΠΈΠ΅ ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡΠ΅Π»ΡΠ½ΠΎΡΡΠΈ PHP ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ
ΠΠ΅ΠΌΠ½ΠΎΠ³ΠΎ ΠΎ ΡΠΎΠΌ, ΡΡΠΎ ΡΠ°ΠΊΠΎΠ΅ singleton ΠΈ ΠΊΠ°ΠΊ ΠΏΠΎΠ΄ΠΊΠ»ΡΡΠΈΡΡΡΡ ΠΊ MySQL Ρ ΠΏΠΎΠΌΠΎΡΡΡ Π½Π΅Π³ΠΎ.
Π§Π΅ΠΌ Π²ΡΠ·Π²Π°Π½Π° ΠΎΡΠΈΠ±ΠΊΠ° 500 ΠΈ ΠΊΠ°ΠΊ Π΅Π΅ ΠΈΡΠΏΡΠ°Π²ΠΈΡΡ Π² Nginx