ΠΠ°ΠΆΠ΄Π°Ρ Π½ΠΎΠ²Π°Ρ ΡΡΠ½ΠΊΡΠΈΡ, ΠΊΠ»Π°ΡΡ, ΠΈΠ½ΡΠ΅ΡΡΠ΅ΠΉΡ, ΠΏΠ΅ΡΠ΅ΡΠΈΡΠ»Π΅Π½ΠΈΠ΅ ΠΈΠ»ΠΈ ΠΊΠΎΠ½ΡΡΠ°Π½ΡΠ° ΡΡΠ°Π½Π΅Ρ ΠΏΡΠΈΡΠΈΠ½ΠΎΠΉ ΠΎΡΠΈΠ±ΠΊΠΈ Error ΠΎ ΠΏΠΎΠ²ΡΠΎΡΠ½ΠΎΠΌ ΠΎΠ±ΡΡΠ²Π»Π΅Π½ΠΈΠΈ, ΠΊΠΎΡΠΎΡΡΡ Π²ΡΠ±ΡΠΎΡΠΈΡ PHP, Π΅ΡΠ»ΠΈ Π²ΡΡΡΠ΅ΡΠΈΡ Π² ΠΊΠΎΠ΄Π΅ ΠΎΠ±ΡΡΠ²Π»Π΅Π½ΠΈΠ΅ Ρ ΡΠ΅ΠΌ ΠΆΠ΅ Π½Π°Π·Π²Π°Π½ΠΈΠ΅ΠΌ, Ρ ΠΎΡΡ ΡΠ°Π·Π΄Π΅Π» Π½Π΅ ΡΠΊΠ°Π·ΡΠ²Π°Π΅Ρ ΡΡΠΎ Π² ΡΠ²Π½ΠΎΠΉ ΡΠΎΡΠΌΠ΅.
ΠΠΎΠ²Π΅Π΄Π΅Π½ΠΈΠ΅ ΡΠ·ΡΠΊΠΎΠ²ΠΎΠΉ ΠΊΠΎΠ½ΡΡΡΡΠΊΡΠΈΠΈ exit() ΠΈ Π΅Ρ ΠΏΡΠ΅Π²Π΄ΠΎΠ½ΠΈΠΌΠ° die()
ΡΠ΅ΠΏΠ΅ΡΡ Π±ΠΎΠ»ΡΡΠ΅ ΠΏΠΎΡ
ΠΎΠΆΠ΅ Π½Π° ΡΡΠ½ΠΊΡΠΈΠΈ:
ΠΈΡ
ΡΠ°Π·ΡΠ΅ΡΠΈΠ»ΠΈ ΠΏΠ΅ΡΠ΅Π΄Π°Π²Π°ΡΡ ΠΊΠ°ΠΊ Π·Π½Π°ΡΠ΅Π½ΠΈΡ Ρ ΡΠΈΠΏΠΎΠΌ callable,
Π½Π° ΠΏΠΎΠ²Π΅Π΄Π΅Π½ΠΈΠ΅ ΡΡΠ½ΠΊΡΠΈΠΉ ΡΠ΅ΠΏΠ΅ΡΡ Π²Π»ΠΈΡΠ΅Ρ Π΄ΠΈΡΠ΅ΠΊΡΠΈΠ²Π° strict_types
ΡΠΏΡΠ°Π²Π»ΡΡΡΠ΅ΠΉ ΠΊΠΎΠ½ΡΡΡΡΠΊΡΠΈΠΈ declare ΠΈ ΡΠ΅ΠΏΠ΅ΡΡ ΠΎΠ½ΠΈ Π²ΡΠΏΠΎΠ»Π½ΡΡΡ ΡΡΠ°Π½Π΄Π°ΡΡΠ½ΡΠ΅ ΠΏΡΠ΅ΠΎΠ±ΡΠ°Π·ΠΎΠ²Π°Π½ΠΈΡ ΡΠΈΠΏΠΎΠ²
Π²ΠΌΠ΅ΡΡΠΎ ΠΏΡΠΈΠ²Π΅Π΄Π΅Π½ΠΈΡ Π½Π΅ΡΠ΅Π»ΠΎΡΠΈΡΠ»Π΅Π½Π½ΡΡ
Π·Π½Π°ΡΠ΅Π½ΠΈΠΉ ΠΊ ΡΡΡΠΎΠΊΠ΅.
ΠΠΎΡΡΠΎΠΌΡ ΠΏΠ΅ΡΠ΅Π΄Π°ΡΠ° Π½Π΅Π΄ΠΎΠΏΡΡΡΠΈΠΌΡΡ ΡΠΈΠΏΠΎΠ² Π² ΡΡΠ½ΠΊΡΠΈΠΈ exit() ΠΈ die() ΡΠ΅ΠΏΠ΅ΡΡ Π²ΡΠ±ΡΠ°ΡΡΠ²Π°Π΅Ρ ΠΎΡΠΈΠ±ΠΊΡ TypeError.
ΠΠΎΡΠ²Π»Π΅Π½ΠΈΠ΅ ΡΠ΅ΠΊΡΡΡΠΈΠΈ ΠΏΡΠΈ ΡΡΠ°Π²Π½Π΅Π½ΠΈΠΈ ΡΠ΅ΠΏΠ΅ΡΡ Π²ΡΠ±ΡΠ°ΡΡΠ²Π°Π΅Ρ
ΠΎΡΠΈΠ±ΠΊΡ Error Π²ΠΌΠ΅ΡΡΠΎ
ΠΎΡΠΈΠ±ΠΊΠΈ ΡΡΠΎΠ²Π½Ρ E_ERROR.
ΠΠ΅ΠΏΡΡΠΌΡΡ ΠΌΠΎΠ΄ΠΈΡΠΈΠΊΠ°ΡΠΈΡ Π΄ΠΎΡΡΡΠΏΠ½ΡΡ
ΡΠΎΠ»ΡΠΊΠΎ Π΄Π»Ρ ΡΡΠ΅Π½ΠΈΡ ΡΠ²ΠΎΠΉΡΡΠ² Π²Π½ΡΡΡΠΈ ΠΌΠ°Π³ΠΈΡΠ΅ΡΠΊΠΎΠ³ΠΎ ΠΌΠ΅ΡΠΎΠ΄Π°
__clone() Π·Π°ΠΏΡΠ΅ΡΠΈΠ»ΠΈ, Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ, ΠΏΡΠΈΡΠ²Π°ΠΈΠ²Π°Π½ΠΈΠ΅ ΠΏΠΎ ΡΡΡΠ»ΠΊΠ΅ $ref = &$this->readonly
Π²ΡΠ·ΠΎΠ²Π΅Ρ ΡΠ°ΡΠ°Π»ΡΠ½ΡΡ ΠΎΡΠΈΠ±ΠΊΡ. ΠΠ½ΠΈΡΠΈΠ°Π»ΠΈΠ·Π°ΡΠΈΡ Π΄ΠΎΡΡΡΠΏΠ½ΡΡ
ΡΠΎΠ»ΡΠΊΠΎ Π΄Π»Ρ ΡΡΠ΅Π½ΠΈΡ ΡΠ²ΠΎΠΉΡΡΠ² Π·Π°ΠΏΡΠ΅ΡΠΈΠ»ΠΈ ΡΠ°Π½ΡΡΠ΅
ΠΈ ΡΠΏΡΡΡΠΈΠ»ΠΈ Π² ΡΠ΅Π°Π»ΠΈΠ·Π°ΡΠΈΠΈ Β«ΠΏΠΎΠ²ΡΠΎΡΠ½ΠΎΠΉ ΠΈΠ½ΠΈΡΠΈΠ°Π»ΠΈΠ·Π°ΡΠΈΠΈ Π΄ΠΎΡΡΡΠΏΠ½ΡΡ
ΡΠΎΠ»ΡΠΊΠΎ Π΄Π»Ρ ΡΡΠ΅Π½ΠΈΡ ΡΠ²ΠΎΠΉΡΡΠ²
ΠΏΡΠΈ ΠΊΠ»ΠΎΠ½ΠΈΡΠΎΠ²Π°Π½ΠΈΠΈΒ».
ΠΠΎΠ½ΡΡΠ°Π½ΡΡ PHP_DEBUG ΠΈ PHP_ZTS
ΡΠ΅ΠΏΠ΅ΡΡ ΠΏΡΠΈΠ½Π°Π΄Π»Π΅ΠΆΠ°Ρ Π»ΠΎΠ³ΠΈΡΠ΅ΡΠΊΠΎΠΌΡ ΡΠΈΠΏΡ bool.
Π Π°Π½ΡΡΠ΅ ΠΊΠΎΠ½ΡΡΠ°Π½ΡΡ ΠΏΡΠΈΠ½Π°Π΄Π»Π΅ΠΆΠ°Π»ΠΈ ΡΠ΅Π»ΠΎΡΠΈΡΠ»Π΅Π½Π½ΠΎΠΌΡ ΡΠΈΠΏΡ int.
ΠΠ»ΠΈΠ½Ρ ΠΈΠΌΡΠ½ ΡΠ°ΠΉΠ»ΠΎΠ², ΠΊΠΎΡΠΎΡΡΠ΅ Π·Π°Π³ΡΡΠ·ΠΈΠ»ΠΈ, ΠΈ ΡΠ°ΠΉΠ»ΠΎΠ², ΠΊΠΎΡΠΎΡΡΠ΅ ΡΠΎΠ·Π΄Π°Π»ΠΈ ΡΡΠ½ΠΊΡΠΈΠ΅ΠΉ tempnam(), ΡΠ²Π΅Π»ΠΈΡΠΈΠ»ΠΈ Π½Π° 13 Π±Π°ΠΉΡΠΎΠ². ΠΠ±ΡΠ°Ρ Π΄Π»ΠΈΠ½Π° ΠΏΠΎ-ΠΏΡΠ΅ΠΆΠ½Π΅ΠΌΡ Π·Π°Π²ΠΈΡΠΈΡ ΠΎΡ ΠΏΠ»Π°ΡΡΠΎΡΠΌΡ.
Π‘Π»Π΅Π΄ΡΡΡΠΈΠ΅ ΠΌΠΎΠ΄ΡΠ»ΠΈ ΡΠ΅ΠΏΠ΅ΡΡ ΠΎΠ±ΡΡΠ²Π»ΡΡΡ ΡΠΈΠΏ Π΄Π»Ρ ΠΊΠΎΠ½ΡΡΠ°Π½Ρ ΡΠ²ΠΎΠΈΡ ΠΊΠ»Π°ΡΡΠ°Ρ :
Π ΡΠ΄ ΡΠ΅ΡΡΡΡΠΎΠ² (resource) ΠΏΠ΅ΡΠ΅Π½Π΅ΡΠ»ΠΈ Π² ΠΎΠ±ΡΠ΅ΠΊΡΡ (object).
ΠΠ½Π°ΡΠ΅Π½ΠΈΡ, ΠΊΠΎΡΠΎΡΡΠ΅ Π²ΠΎΠ·Π²ΡΠ°ΡΠ°Π»ΠΈ ΡΡΠ½ΠΊΡΠΈΠΈ-ΡΠΎΠ·Π΄Π°ΡΠ΅Π»ΠΈ ΡΠ΅ΡΡΡΡΠΎΠ² ΠΈ ΠΊΠΎΡΠΎΡΡΠ΅
ΠΏΡΠΎΠ²Π΅ΡΡΠ»ΠΈ ΡΡΠ½ΠΊΡΠΈΠ΅ΠΉ is_resource(), ΠΏΠΎΡΡΠ΅Π±ΡΠ΅ΡΡΡ Π·Π°ΠΌΠ΅Π½ΠΈΡΡ
ΠΏΡΠΎΠ²Π΅ΡΠΊΠ°ΠΌΠΈ Π·Π½Π°ΡΠ΅Π½ΠΈΠΉ Π²ΠΎΠ·Π²ΡΠ°ΡΠ° ΡΠ°ΠΊΠΈΡ
ΡΡΠ½ΠΊΡΠΈΠΉ Π½Π° ΠΏΡΠΈΠ½Π°Π΄Π»Π΅ΠΆΠ½ΠΎΡΡΡ ΡΠΈΠΏΡ false,
Π΅ΡΠ»ΠΈ ΡΠΎΠ»ΡΠΊΠΎ Π² ΠΎΠΏΠΈΡΠ°Π½ΠΈΠΈ ΡΡΠ½ΠΊΡΠΈΠΈ Π½Π΅ ΡΠΊΠ°Π·Π°Π»ΠΈ ΠΈΠ½ΠΎΠ΅.
Π€ΡΠ½ΠΊΡΠΈΠΈ ΠΌΠΎΠ΄ΡΠ»Ρ DBA ΡΠ΅ΠΏΠ΅ΡΡ ΠΏΡΠΈΠ½ΠΈΠΌΠ°ΡΡ ΠΈ Π²ΠΎΠ·Π²ΡΠ°ΡΠ°ΡΡ ΠΎΠ±ΡΠ΅ΠΊΡΡ
Dba\Connection Π²ΠΌΠ΅ΡΡΠΎ ΡΠ΅ΡΡΡΡΠΎΠ² (resource) dba_connection.
Π€ΡΠ½ΠΊΡΠΈΠΈ Π΄ΡΠ°ΠΉΠ²Π΅ΡΠ° ODBC ΡΠ΅ΠΏΠ΅ΡΡ ΠΏΡΠΈΠ½ΠΈΠΌΠ°ΡΡ ΠΈ Π²ΠΎΠ·Π²ΡΠ°ΡΠ°ΡΡ ΠΎΠ±ΡΠ΅ΠΊΡΡ
Odbc\Result Π²ΠΌΠ΅ΡΡΠΎ ΡΠ΅ΡΡΡΡΠΎΠ² (resource) odbc_result.
Π€ΡΠ½ΠΊΡΠΈΠΈ Π΄ΡΠ°ΠΉΠ²Π΅ΡΠ° ODBC ΡΠ΅ΠΏΠ΅ΡΡ ΠΏΡΠΈΠ½ΠΈΠΌΠ°ΡΡ ΠΈ Π²ΠΎΠ·Π²ΡΠ°ΡΠ°ΡΡ ΠΎΠ±ΡΠ΅ΠΊΡΡ
Odbc\Connection Π²ΠΌΠ΅ΡΡΠΎ ΡΠ΅ΡΡΡΡΠΎΠ² (resource) odbc_connection.
Π Π°Π·ΡΠ°Π±ΠΎΡΡΠΈΠΊΠΈ ΠΏΡΠ΅Π΄ΡΡΠ°Π²ΠΈΠ»ΠΈ ΡΠ²ΠΎΠΉΡΡΠ²ΠΎ SoapClient::$httpurl
ΠΎΠ±ΡΠ΅ΠΊΡΠΎΠΌ Soap\Url, Π° Π½Π΅ ΡΠ΅ΡΡΡΡΠΎΠΌ (resource) soap_url.
ΠΡΠΎΠ²Π΅ΡΠΊΠΈ ΡΡΠ½ΠΊΡΠΈΠ΅ΠΉ is_resource() Π½Π°ΠΏΠΎΠ΄ΠΎΠ±ΠΈΠ΅
is_resource($client->httpurl)) ΠΏΠΎΡΡΠ΅Π±ΡΠ΅ΡΡΡ Π·Π°ΠΌΠ΅Π½ΠΈΡΡ ΠΏΡΠΎΠ²Π΅ΡΠΊΠ°ΠΌΠΈ
Π½Π° null Π²ΡΠΎΠ΄Π΅ $client->httpurl !== null.
Π Π°Π·ΡΠ°Π±ΠΎΡΡΠΈΠΊΠΈ ΠΏΡΠ΅Π΄ΡΡΠ°Π²ΠΈΠ»ΠΈ ΡΠ²ΠΎΠΉΡΡΠ²ΠΎ SoapClient::$sdl
ΠΎΠ±ΡΠ΅ΠΊΡΠΎΠΌ Soap\Sdl, Π° Π½Π΅ ΡΠ΅ΡΡΡΡΠΎΠΌ (resource) soap_sdl.
ΠΡΠΎΠ²Π΅ΡΠΊΠΈ ΡΡΠ½ΠΊΡΠΈΠΈ is_resource() Π½Π°ΠΏΠΎΠ΄ΠΎΠ±ΠΈΠ΅
is_resource($client->sdl) ΠΏΠΎΡΡΠ΅Π±ΡΠ΅ΡΡΡ Π·Π°ΠΌΠ΅Π½ΠΈΡΡ ΠΏΡΠΎΠ²Π΅ΡΠΊΠ°ΠΌΠΈ
Π½Π° null Π²ΡΠΎΠ΄Π΅ $client->sdl !== null.
Π Π°Π·ΡΠ°Π±ΠΎΡΡΠΈΠΊΠΈ Π΄ΠΎΠ±Π°Π²ΠΈΠ»ΠΈ Π½ΠΎΠ²ΡΠ΅ ΠΏΡΠ΅Π΄ΡΠΏΡΠ΅ΠΆΠ΄Π΅Π½ΠΈΡ ΠΈ ΠΈΡΠΊΠ»ΡΡΠ΅Π½ΠΈΡ, ΠΊΠΎΡΠΎΡΡΠ΅ ΡΡΠ°Π±Π°ΡΡΠ²Π°ΡΡ ΠΏΡΠΈ ΠΎΡΠΈΠ±ΠΊΠ°Ρ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΠΎΠ²Π°Π½ΠΈΡ, β ΠΊΠΎΠ³Π΄Π° Π² Π°ΡΠ³ΡΠΌΠ΅Π½ΡΠ°Ρ ΠΏΠ΅ΡΠ΅Π΄Π°ΡΡ Π½Π΅Π΄ΠΎΠΏΡΡΡΠΈΠΌΡΠ΅ Π·Π½Π°ΡΠ΅Π½ΠΈΡ.
Π€ΡΠ½ΠΊΡΠΈΡ curl_multi_select() ΡΠ΅ΠΏΠ΅ΡΡ Π²ΡΠ±ΡΠ°ΡΡΠ²Π°Π΅Ρ
ΠΎΡΠΈΠ±ΠΊΡ ValueError,
Π΅ΡΠ»ΠΈ Π°ΡΠ³ΡΠΌΠ΅Π½Ρ timeout ΠΌΠ΅Π½ΡΡΠ΅ 0
ΠΈΠ»ΠΈ Π±ΠΎΠ»ΡΡΠ΅ Π·Π½Π°ΡΠ΅Π½ΠΈΡ ΠΊΠΎΠ½ΡΡΠ°Π½ΡΡ PHP_INT_MAX.
Π€ΡΠ½ΠΊΡΠΈΠΈ
imagejpeg(), imagewebp(), imagepng(), imageavif()
ΡΠ΅ΠΏΠ΅ΡΡ Π²ΡΠ±ΡΠ°ΡΡΠ²Π°ΡΡ ΠΎΡΠΈΠ±ΠΊΡ ValueError,
Π΅ΡΠ»ΠΈ Π² ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡ quality ΠΏΠ΅ΡΠ΅Π΄Π°Π»ΠΈ Π½Π΅Π΄ΠΎΠΏΡΡΡΠΈΠΌΠΎΠ΅ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅.
Π€ΡΠ½ΠΊΡΠΈΡ imageavif()
ΡΠ΅ΠΏΠ΅ΡΡ Π²ΡΠ±ΡΠ°ΡΡΠ²Π°Π΅Ρ ΠΎΡΠΈΠ±ΠΊΡ ValueError,
Π΅ΡΠ»ΠΈ Π² ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡ speed ΠΏΠ΅ΡΠ΅Π΄Π°Π»ΠΈ Π½Π΅Π΄ΠΎΠΏΡΡΡΠΈΠΌΠΎΠ΅ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅.
Π€ΡΠ½ΠΊΡΠΈΡ imagescale()
ΡΠ΅ΠΏΠ΅ΡΡ Π²ΡΠ±ΡΠ°ΡΡΠ²Π°Π΅Ρ ΠΎΡΠΈΠ±ΠΊΡ ValueError,
Π΅ΡΠ»ΠΈ ΡΠΈΡΠΈΠ½Π° width ΠΈΠ»ΠΈ Π²ΡΡΠΎΡΠ° height
Π²ΡΡ
ΠΎΠ΄ΠΈΡ Π·Π° ΠΏΡΠ΅Π΄Π΅Π»Ρ Π΄ΠΎΠΏΡΡΡΠΈΠΌΡΡ
Π·Π½Π°ΡΠ΅Π½ΠΈΠΉ: Π½Π΅Π΄ΠΎΠΏΠΎΠ»Π½Π΅Π½ΠΎ ΠΈΠ»ΠΈ ΠΏΠ΅ΡΠ΅ΠΏΠΎΠ»Π½Π΅Π½ΠΎ.
Π€ΡΠ½ΠΊΡΠΈΡ imagescale()
ΡΠ΅ΠΏΠ΅ΡΡ Π²ΡΠ±ΡΠ°ΡΡΠ²Π°ΡΡ ΠΎΡΠΈΠ±ΠΊΡ ValueError,
Π΅ΡΠ»ΠΈ ΠΏΠ΅ΡΠ΅Π΄Π°Π»ΠΈ Π½Π΅Π΄ΠΎΠΏΡΡΡΠΈΠΌΠΎΠ΅ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ Π² ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡ mode.
Π€ΡΠ½ΠΊΡΠΈΡ imagefilter() Ρ ΡΠΈΠ»ΡΡΡΠΎΠΌ IMG_FILTER_SCATTER
ΡΠ΅ΠΏΠ΅ΡΡ Π²ΡΠ±ΡΠ°ΡΡΠ²Π°ΡΡ ΠΎΡΠΈΠ±ΠΊΡ ValueError,
Π΅ΡΠ»ΠΈ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ Π²ΡΡΠΈΡΠ°Π½ΠΈΡ sub ΠΈΠ»ΠΈ Π΄ΠΎΠ±Π°Π²Π»Π΅Π½ΠΈΡ plus
ΡΡΡΠ΅ΠΊΡΠ° Π²ΡΡ
ΠΎΠ΄ΠΈΡ Π·Π° ΠΏΡΠ΅Π΄Π΅Π»Ρ Π΄ΠΎΠΏΡΡΡΠΈΠΌΡΡ
Π·Π½Π°ΡΠ΅Π½ΠΈΠΉ: Π½Π΅Π΄ΠΎΠΏΠΎΠ»Π½Π΅Π½ΠΎ ΠΈΠ»ΠΈ ΠΏΠ΅ΡΠ΅ΠΏΠΎΠ»Π½Π΅Π½ΠΎ.
Π€ΡΠ½ΠΊΡΠΈΠΈ
bind_textdomain_codeset(), textdomain(), d*gettext
ΡΠ΅ΠΏΠ΅ΡΡ Π²ΡΠ±ΡΠ°ΡΡΠ²Π°ΡΡ ΠΎΡΠΈΠ±ΠΊΡ ValueError,
Π΅ΡΠ»ΠΈ Π² Π°ΡΠ³ΡΠΌΠ΅Π½ΡΠ΅ domain ΠΏΠ΅ΡΠ΅Π΄Π°Π»ΠΈ ΠΏΡΡΡΡΡ ΡΡΡΠΎΠΊΡ.
Π€ΡΠ½ΠΊΡΠΈΠΈ resourcebundle_get(), ResourceBundle::get() ΠΈ ΠΎΠ±ΡΠ°ΡΠ΅Π½ΠΈΠ΅ ΠΊ ΡΠΌΠ΅ΡΠ΅Π½ΠΈΡΠΌ ΠΎΠ±ΡΠ΅ΠΊΡΠ° ResourceBundle ΡΠ΅ΠΏΠ΅ΡΡ Π²ΡΠ±ΡΠ°ΡΡΠ²Π°ΡΡ ΠΈΡΠΊΠ»ΡΡΠ΅Π½ΠΈΠ΅:
ΠΠ΅ΡΠΎΠ΄ IntlDateFormatter::__construct()
ΡΠ΅ΠΏΠ΅ΡΡ Π²ΡΠ±ΡΠ°ΡΡΠ²Π°Π΅Ρ ΠΎΡΠΈΠ±ΠΊΡ ValueError,
Π΅ΡΠ»ΠΈ Π² ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡ locale ΠΏΠ΅ΡΠ΅Π΄Π°Π»ΠΈ Π½Π΅Π΄ΠΎΠΏΡΡΡΠΈΠΌΠΎΠ΅ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅.
ΠΠ΅ΡΠΎΠ΄ NumberFormatter::__construct()
ΡΠ΅ΠΏΠ΅ΡΡ Π²ΡΠ±ΡΠ°ΡΡΠ²Π°Π΅Ρ ΠΎΡΠΈΠ±ΠΊΡ ValueError,
Π΅ΡΠ»ΠΈ Π² ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡ locale ΠΏΠ΅ΡΠ΅Π΄Π°Π»ΠΈ Π½Π΅Π΄ΠΎΠΏΡΡΡΠΈΠΌΠΎΠ΅ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅.
Π’Π΅ΠΏΠ΅ΡΡ ΡΡΠ½ΠΊΡΠΈΠΈ mb_encode_numericentity()
ΠΈ mb_decode_numericentity() ΠΏΡΠΎΠ²Π΅ΡΡΡΡ,
ΡΡΠΎ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΠ° map ΡΠΎΡΡΠΎΠΈΡ ΡΠΎΠ»ΡΠΊΠΎ ΠΈΠ· ΡΠ΅Π»ΡΡ
ΡΠΈΡΠ»Π΅Π» (int),
ΠΈΠ½Π°ΡΠ΅ Π²ΡΠ±ΡΠ°ΡΡΠ²Π°ΡΡ ΠΎΡΠΈΠ±ΠΊΡ ValueError.
Π’Π΅ΠΏΠ΅ΡΡ ΡΡΠ½ΠΊΡΠΈΡ mb_http_input()
Π²ΡΠ±ΡΠ°ΡΡΠ²Π°Π΅Ρ ΠΎΡΠΈΠ±ΠΊΡ ValueError ΠΏΡΠΈ ΠΊΠ°ΠΆΠ΄ΠΎΠΌ Π²ΡΠ·ΠΎΠ²Π΅,
Π΅ΡΠ»ΠΈ Π² ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡ type ΠΏΠ΅ΡΠ΅Π΄Π°Π»ΠΈ Π½Π΅Π΄ΠΎΠΏΡΡΡΠΈΠΌΠΎΠ΅ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅.
Π’Π΅ΠΏΠ΅ΡΡ ΡΡΠ½ΠΊΡΠΈΡ mb_http_output() ΠΏΡΠΎΠ²Π΅ΡΡΠ΅Ρ,
ΡΡΠΎ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΠ° encoding Π½Π΅ ΡΠΎΠ΄Π΅ΡΠΆΠΈΡ Π½ΡΠ»Π΅Π²ΡΡ
Π±Π°ΠΉΡΠΎΠ²,
ΠΈΠ½Π°ΡΠ΅ Π²ΡΠ±ΡΠ°ΡΡΠ²Π°Π΅Ρ ΠΎΡΠΈΠ±ΠΊΡ ValueError.
Π€ΡΠ½ΠΊΡΠΈΡ odbc_fetch_row() ΡΠ°Π½ΡΡΠ΅ Π²ΠΎΠ·Π²ΡΠ°ΡΠ°Π»Π° Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ false,
Π΅ΡΠ»ΠΈ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ Π°ΡΠ³ΡΠΌΠ΅Π½ΡΠ° row ΠΎΠΊΠ°Π·ΡΠ²Π°Π»ΠΎΡΡ ΠΌΠ΅Π½ΡΡΠ΅ ΠΈΠ»ΠΈ ΡΠ°Π²Π½ΠΎ 0.
Π’Π΅ΠΏΠ΅ΡΡ ΡΡΠ½ΠΊΡΠΈΡ Π²ΡΠ΄Π°ΡΡ ΠΏΡΠ΅Π΄ΡΠΏΡΠ΅ΠΆΠ΄Π΅Π½ΠΈΠ΅.
Π€ΡΠ½ΠΊΡΠΈΠΈ pcntl_sigprocmask(), pcntl_sigwaitinfo() ΠΈ pcntl_sigtimedwait() ΡΠ΅ΠΏΠ΅ΡΡ Π²ΡΠ±ΡΠ°ΡΡΠ²Π°ΡΡ ΠΈΡΠΊΠ»ΡΡΠ΅Π½ΠΈΠ΅:
signals ΠΎΠΊΠ°Π·Π°Π»ΡΡ ΠΏΡΡΡΡΠΌ
(Π·Π° ΠΈΡΠΊΠ»ΡΡΠ΅Π½ΠΈΠ΅ΠΌ ΡΡΠ½ΠΊΡΠΈΠΈ pcntl_sigprocmask(),
Π΅ΡΠ»ΠΈ Π΄Π»Ρ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΠ° mode ΡΡΡΠ°Π½ΠΎΠ²ΠΈΠ»ΠΈ ΡΠ΅ΠΆΠΈΠΌ SIG_SETMASK)
signals ΡΠΎΠ΄Π΅ΡΠΆΠΈΡ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅, ΠΊΠΎΡΠΎΡΠΎΠ΅ Π½Π΅ ΠΏΡΠΈΠ½Π°Π΄Π»Π΅ΠΆΠΈΡ ΡΠΈΠΏΡ int
signals ΡΠΎΠ΄Π΅ΡΠΆΠΈΡ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅, ΠΊΠΎΡΠΎΡΠΎΠ΅ ΠΎΠΊΠ°Π·Π°Π»ΠΎΡΡ Π½Π΅Π΄ΠΎΠΏΡΡΡΠΈΠΌΡΠΌ Π½ΠΎΠΌΠ΅ΡΠΎΠΌ ΡΠΈΠ³Π½Π°Π»Π°
Π€ΡΠ½ΠΊΡΠΈΡ pcntl_sigprocmask() ΡΠ΅ΠΏΠ΅ΡΡ Π²ΡΠ±ΡΠ°ΡΡΠ²Π°Π΅Ρ
ΠΎΡΠΈΠ±ΠΊΡ ValueError, Π΅ΡΠ»ΠΈ Π² Π°ΡΠ³ΡΠΌΠ΅Π½ΡΠ΅ mode
ΠΏΠ΅ΡΠ΅Π΄Π°Π»ΠΈ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅, ΠΊΠΎΡΠΎΡΠΎΠ΅ Π½Π΅ Π²Ρ
ΠΎΠ΄ΠΈΡ Π² ΡΠΏΠΈΡΠΎΠΊ: SIG_BLOCK, SIG_UNBLOCK
ΠΈΠ»ΠΈ SIG_SETMASK.
Π€ΡΠ½ΠΊΡΠΈΡ pcntl_sigtimedwait() ΡΠ΅ΠΏΠ΅ΡΡ Π²ΡΠ±ΡΠ°ΡΡΠ²Π°Π΅Ρ ΠΎΡΠΈΠ±ΠΊΡ:
seconds ΠΌΠ΅Π½ΡΡΠ΅ 0
nanoseconds ΠΌΠ΅Π½ΡΡΠ΅ 0
ΠΈΠ»ΠΈ Π±ΠΎΠ»ΡΡΠ΅ 1e9
seconds ΠΈ nanoseconds
ΡΠ°Π²Π½Ρ 0
Π£ΡΡΠ°Π½ΠΎΠ²ΠΊΠ° Π½Π΅ΠΏΠΎΠ»ΠΎΠΆΠΈΡΠ΅Π»ΡΠ½ΠΎΠ³ΠΎ Π·Π½Π°ΡΠ΅Π½ΠΈΡ Π² Π΄ΠΈΡΠ΅ΠΊΡΠΈΠ²Π΅ session.gc_divisor ΠΈΠ»ΠΈ ΠΎΡΡΠΈΡΠ°ΡΠ΅Π»ΡΠ½ΠΎΠ³ΠΎ Π·Π½Π°ΡΠ΅Π½ΠΈΡ Π² Π΄ΠΈΡΠ΅ΠΊΡΠΈΠ²Π΅ session.gc_probability ΡΠ΅ΠΏΠ΅ΡΡ Π²ΡΠ΄Π°ΡΡ ΠΏΡΠ΅Π΄ΡΠΏΡΠ΅ΠΆΠ΄Π΅Π½ΠΈΠ΅.
ΠΡΠ·ΠΎΠ² ΡΡΠ½ΠΊΡΠΈΠΈ simplexml_import_dom() Π½Π΅ Ρ XML-ΠΎΠ±ΡΠ΅ΠΊΡΠΎΠΌ ΡΠ΅ΠΏΠ΅ΡΡ Π²ΠΌΠ΅ΡΡΠΎ ΠΈΡΠΊΠ»ΡΡΠ΅Π½ΠΈΡ ValueError Π²ΡΠ±ΡΠ°ΡΡΠ²Π°Π΅Ρ ΠΎΡΠΈΠ±ΠΊΡ TypeError.
Π€ΡΠ½ΠΊΡΠΈΡ round() ΡΠ΅ΠΏΠ΅ΡΡ ΠΏΡΠΎΠ²Π΅ΡΡΠ΅Ρ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΠ° mode
ΠΈ Π²ΡΠ±ΡΠ°ΡΡΠ²Π°Π΅Ρ ΠΎΡΠΈΠ±ΠΊΡ ValueError Π΄Π»Ρ Π½Π΅Π΄ΠΎΠΏΡΡΡΠΈΠΌΡΡ
ΡΠ΅ΠΆΠΈΠΌΠΎΠ².
Π Π°Π½ΡΡΠ΅ ΡΡΠ½ΠΊΡΠΈΡ ΠΈΠ½ΡΠ΅ΡΠΏΡΠ΅ΡΠΈΡΠΎΠ²Π°Π»Π° Π½Π΅Π΄ΠΎΠΏΡΡΡΠΈΠΌΡΠ΅ ΡΠ΅ΠΆΠΈΠΌΡ ΠΎΠΊΡΡΠ³Π»Π΅Π½ΠΈΡ ΠΊΠ°ΠΊ ΡΠ΅ΠΆΠΈΠΌ PHP_ROUND_HALF_UP.
Π€ΡΠ½ΠΊΡΠΈΡ str_getcsv() ΡΠ΅ΠΏΠ΅ΡΡ Π²ΡΠ±ΡΠ°ΡΡΠ²Π°Π΅Ρ
ΠΎΡΠΈΠ±ΠΊΡ ValueError, ΠΊΠΎΠ³Π΄Π°
Π΄Π»ΠΈΠ½Π° ΡΠ°Π·Π΄Π΅Π»ΠΈΡΠ΅Π»Ρ separator ΠΈ ΠΎΠ³ΡΠ°Π½ΠΈΡΠΈΡΠ΅Π»Ρ ΠΏΠΎΠ»Π΅ΠΉ enclosure
Π½Π΅ ΡΠ°Π²Π½Π° ΠΎΠ΄Π½ΠΎΠΌΡ Π±Π°ΠΉΡΡ, ΠΈΠ»ΠΈ Π΅ΡΠ»ΠΈ Π² Π°ΡΠ³ΡΠΌΠ΅Π½ΡΠ΅ ΡΠΈΠΌΠ²ΠΎΠ»Π° ΡΠΊΡΠ°Π½ΠΈΡΠΎΠ²Π°Π½ΠΈΡ escape
Π½Π΅ ΠΏΠ΅ΡΠ΅Π΄Π°Π»ΠΈ ΠΎΠ΄Π½ΠΎΠ±Π°ΠΉΡΠΎΠ²ΡΠΉ ΡΠΈΠΌΠ²ΠΎΠ» ΠΈΠ»ΠΈ ΠΏΡΡΡΡΡ ΡΡΡΠΎΠΊΡ.
ΠΡΠΎ Π²ΡΡΠ°Π²Π½ΠΈΠ²Π°Π΅Ρ ΠΏΠΎΠ²Π΅Π΄Π΅Π½ΠΈΠ΅ ΡΡΠ½ΠΊΡΠΈΠΈ, ΡΡΠΎΠ±Ρ ΠΎΠ½ΠΎ Π±ΡΠ»ΠΎ ΠΈΠ΄Π΅Π½ΡΠΈΡΠ½ΠΎ ΠΏΠΎΠ²Π΅Π΄Π΅Π½ΠΈΡ
ΡΡΠ½ΠΊΡΠΈΠΉ fputcsv() ΠΈ fgetcsv().
Π€ΡΠ½ΠΊΡΠΈΡ php_uname() ΡΠ΅ΠΏΠ΅ΡΡ Π²ΡΠ±ΡΠ°ΡΡΠ²Π°Π΅Ρ ΠΎΡΠΈΠ±ΠΊΡ
ValueError,
Π΅ΡΠ»ΠΈ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ Π°ΡΠ³ΡΠΌΠ΅Π½ΡΠ° mode Π½Π΅Π΄ΠΎΠΏΡΡΡΠΈΠΌΠΎ.
ΠΠΏΡΠΈΡ "allowed_classes" ΡΡΠ½ΠΊΡΠΈΠΈ
unserialize() ΡΠ΅ΠΏΠ΅ΡΡ Π²ΡΠ±ΡΠ°ΡΡΠ²Π°Π΅Ρ
ΠΈΡΠΊΠ»ΡΡΠ΅Π½ΠΈΡ TypeError
ΠΈ ValueError, Π΅ΡΠ»ΠΈ Π² Π°ΡΠ³ΡΠΌΠ΅Π½ΡΠ΅ ΠΏΠ΅ΡΠ΅Π΄Π°Π»ΠΈ
Π½Π΅ ΠΌΠ°ΡΡΠΈΠ² (array) ΠΈΠΌΡΠ½ ΠΊΠ»Π°ΡΡΠΎΠ².
ΠΠ΅ΡΠ΅Π΄Π°ΡΠ° Π½Π΅Π΄ΠΎΠΏΡΡΡΠΈΠΌΠΎΠΉ ΠΊΠΎΠ΄ΠΈΡΠΎΠ²ΠΊΠΈ ΡΠΈΠΌΠ²ΠΎΠ»ΠΎΠ² Π² ΠΌΠ΅ΡΠΎΠ΄ XMLReader::open() ΠΈΠ»ΠΈ XMLReader::XML() ΡΠ΅ΠΏΠ΅ΡΡ Π²ΡΠ±ΡΠ°ΡΡΠ²Π°Π΅Ρ ΠΎΡΠΈΠ±ΠΊΡ ValueError.
ΠΠ΅ΡΠ΅Π΄Π°ΡΠ° ΡΡΡΠΎΠΊΠΈ (string), ΠΊΠΎΡΠΎΡΠ°Ρ ΡΠΎΠ΄Π΅ΡΠΆΠΈΡ Π½ΡΠ»Π΅Π²ΡΠ΅ Π±Π°ΠΉΡΡ, ΡΠ°Π½ΡΡΠ΅ Π²ΡΠ΄Π°Π²Π°Π»Π° ΠΏΡΠ΅Π΄ΡΠΏΡΠ΅ΠΆΠ΄Π΅Π½ΠΈΠ΅, Π° ΡΠ΅ΠΏΠ΅ΡΡ Π²ΡΠ±ΡΠ°ΡΡΠ²Π°Π΅Ρ ΠΎΡΠΈΠ±ΠΊΡ ValueError.
ΠΠ΅ΡΠ΅Π΄Π°ΡΠ° ΡΡΡΠΎΠΊΠΈ (string), ΠΊΠΎΡΠΎΡΠ°Ρ ΡΠΎΠ΄Π΅ΡΠΆΠΈΡ Π½ΡΠ»Π΅Π²ΡΠ΅ Π±Π°ΠΉΡΡ, ΡΠ°Π½ΡΡΠ΅ Π²ΡΠ΄Π°Π²Π°Π»Π° ΠΏΡΠ΅Π΄ΡΠΏΡΠ΅ΠΆΠ΄Π΅Π½ΠΈΠ΅, Π° ΡΠ΅ΠΏΠ΅ΡΡ Π²ΡΠ±ΡΠ°ΡΡΠ²Π°Π΅Ρ ΠΎΡΠΈΠ±ΠΊΡ ValueError.
ΠΠ΅ΡΠΎΠ΄ XSLTProcessor::setParameter() ΡΠ΅ΠΏΠ΅ΡΡ Π²ΡΠ±ΡΠ°ΡΡΠ²Π°Π΅Ρ ΠΎΡΠΈΠ±ΠΊΡ ValueError, Π΅ΡΠ»ΠΈ Π·Π½Π°ΡΠ΅Π½ΠΈΡ Π°ΡΠ³ΡΠΌΠ΅Π½ΡΠΎΠ² ΡΠΎΠ΄Π΅ΡΠΆΠ°Ρ Π½ΡΠ»Π΅Π²ΡΠ΅ Π±Π°ΠΉΡΡ. ΠΠ΅ΡΠΎΠ΄ Π½ΠΈΠΊΠΎΠ³Π΄Π° Π½Π΅ ΡΠ°Π±ΠΎΡΠ°Π» ΠΊΠΎΡΡΠ΅ΠΊΡΠ½ΠΎ, ΠΏΠΎΡΡΠΎΠΌΡ ΡΠ΅ΠΏΠ΅ΡΡ ΡΠ°ΠΊΠΎΠ΅ ΠΏΠΎΠ²Π΅Π΄Π΅Π½ΠΈΠ΅ ΠΏΡΠΈΠ²ΠΎΠ΄ΠΈΡ ΠΊ ΠΈΡΠΊΠ»ΡΡΠ΅Π½ΠΈΡ.
ΠΡΠ·ΠΎΠ² ΠΌΠ΅ΡΠΎΠ΄Π° XSLTProcessor::importStyleSheet() Π½Π΅ Ρ XML-ΠΎΠ±ΡΠ΅ΠΊΡΠΎΠΌ ΡΠ΅ΠΏΠ΅ΡΡ Π²ΠΌΠ΅ΡΡΠΎ ΠΈΡΠΊΠ»ΡΡΠ΅Π½ΠΈΡ ValueError Π²ΡΠ±ΡΠ°ΡΡΠ²Π°Π΅Ρ ΠΎΡΠΈΠ±ΠΊΡ TypeError.
ΠΠ΅Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΡ Π²ΡΠ·Π²Π°ΡΡ callback-ΡΡΠ½ΠΊΡΠΈΡ Π²ΠΎ Π²ΡΠ΅ΠΌΡ ΠΎΡΠ΅Π½ΠΊΠΈ ΡΠ΅ΠΏΠ΅ΡΡ Π²ΡΠ±ΡΠ°ΡΡΠ²Π°Π΅Ρ ΠΈΡΠΊΠ»ΡΡΠ΅Π½ΠΈΠ΅, Π° Π½Π΅ Π²ΡΠ΄Π°ΡΡ ΠΏΡΠ΅Π΄ΡΠΏΡΠ΅ΠΆΠ΄Π΅Π½ΠΈΠ΅.
Π‘ΠΈΠ½ΡΠ°ΠΊΡΠΈΡ ΠΎΡΠ½ΠΎΡΠΈΡΠ΅Π»ΡΠ½ΡΡ
ΡΠΎΡΠΌΠ°ΡΠΎΠ² ΡΠ½ΠΎΠ²Π° ΠΏΡΠΈΠ½ΠΈΠΌΠ°Π΅Ρ
Π² ΡΠΈΠΌΠ²ΠΎΠ»Π°Ρ
number ΠΌΠ½ΠΎΠΆΠ΅ΡΡΠ²Π΅Π½Π½ΡΠ΅ Π·Π½Π°ΠΊΠΈ ΡΠΈΡΠ»Π°: +-2.
ΠΡΠ΄Π΅Π»ΡΠ½ΡΠ΅ ΠΌΠ΅ΡΠΎΠ΄Ρ ΠΌΠΎΠ΄ΡΠ»Ρ DOM ΡΠ°Π½ΡΡΠ΅ Π²ΠΎΠ·Π²ΡΠ°ΡΠ°Π»ΠΈ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ false
ΠΈΠ»ΠΈ Π²ΡΠ±ΡΠ°ΡΡΠ²Π°Π»ΠΈ ΠΈΡΠΊΠ»ΡΡΠ΅Π½ΠΈΠ΅ DOMException Ρ ΠΊΠΎΠ΄ΠΎΠΌ
DOM_PHP_ERR, Π΅ΡΠ»ΠΈ Π½Π΅ ΠΏΠΎΠ»ΡΡΠ°Π»ΠΎΡΡ Π²ΡΠ΄Π΅Π»ΠΈΡΡ Π½ΠΎΠ²ΡΠΉ ΡΠ·Π΅Π».
Π’Π΅ΠΏΠ΅ΡΡ ΠΌΠ΅ΡΠΎΠ΄Ρ ΠΏΠΎΡΡΠΎΡΠ½Π½ΠΎ Π²ΡΠ±ΡΠ°ΡΡΠ²Π°ΡΡ ΠΈΡΠΊΠ»ΡΡΠ΅Π½ΠΈΠ΅ DOMException
Ρ ΠΊΠΎΠ΄ΠΎΠΌ DOM_INVALID_STATE_ERR.
Π’Π°ΠΊΠ°Ρ ΡΠΈΡΡΠ°ΡΠΈΡ Π² ΠΊΡΠ°ΠΉΠ½Π΅ΠΉ ΡΡΠ΅ΠΏΠ΅Π½ΠΈ ΠΌΠ°Π»ΠΎΠ²Π΅ΡΠΎΡΡΠ½Π° ΠΈ Π²ΡΡΠ΄ Π»ΠΈ Π·Π°ΡΡΠΎΠ½Π΅Ρ ΠΏΡΠ΅ΠΆΠ½ΠΈΠΉ ΠΊΠΎΠ΄.
Π ΠΈΡΠΎΠ³Π΅ Π²ΠΌΠ΅ΡΡΠΎ ΡΠΈΠΏΠ° DOMDocument|false ΠΌΠ΅ΡΠΎΠ΄Ρ
DOMImplementation::createDocument() Π½Π°Π·Π½Π°ΡΠΈΠ»ΠΈ ΠΏΡΠ΅Π΄Π²Π°ΡΠΈΡΠ΅Π»ΡΠ½ΡΠΉ
ΡΠΈΠΏ Π²ΠΎΠ·Π²ΡΠ°ΡΠ° DOMDocument.
Π Π°Π½ΡΡΠ΅ ΠΎΠ±ΡΠ΅ΠΊΡΡ DOMXPath ΡΠ°Π·ΡΠ΅ΡΠ°Π»ΠΈ ΠΊΠ»ΠΎΠ½ΠΈΡΠΎΠ²Π°ΡΡ, Π½ΠΎ Π² ΠΈΡΠΎΠ³Π΅ ΠΏΠΎΠ»ΡΡΠ°Π»ΡΡ Π½Π΅ΠΏΡΠΈΠ³ΠΎΠ΄Π½ΡΠΉ ΠΎΠ±ΡΠ΅ΠΊΡ. ΠΠ»ΠΎΠ½ΠΈΡΠΎΠ²Π°Π½ΠΈΠ΅ ΠΎΠ±ΡΠ΅ΠΊΡΠ° DOMXPath Π±ΠΎΠ»ΡΡΠ΅ Π½Π΅Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎ ΠΈ ΡΠ΅ΠΏΠ΅ΡΡ Π²ΡΠ±ΡΠ°ΡΡΠ²Π°Π΅Ρ ΠΎΡΠΈΠ±ΠΊΡ Error.
ΠΠ΅ΡΠΎΠ΄ DOMImplementation::getFeature() ΡΠ΄Π°Π»ΠΈΠ»ΠΈ.
ΠΠ»Π°ΡΡ GMP ΡΠ΄Π΅Π»Π°Π»ΠΈ ΠΎΠΊΠΎΠ½ΡΠ°ΡΠ΅Π»ΡΠ½ΡΠΌ ΠΈ ΠΏΠΎΡΡΠΎΠΌΡ ΡΠ°ΡΡΠΈΡΠ΅Π½ΠΈΠ΅ ΠΊΠ»Π°ΡΡΠ° ΡΠ΅ΠΏΠ΅ΡΡ Π½Π΅Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎ.
Π Π½Π΅Π΄ΠΎΠΏΡΡΡΠΈΠΌΡΡ ΡΡΡΠΎΠΊΠ°Ρ Ρ ΠΎΡΠΈΠ±ΠΊΠ°ΠΌΠΈ ΠΊΠΎΠ΄ΠΈΡΠΎΠ²ΠΊΠΈ ΡΡΠ½ΠΊΡΠΈΡ mb_substr() ΡΠ΅ΠΏΠ΅ΡΡ ΠΈΠ½ΡΠ΅ΡΠΏΡΠ΅ΡΠΈΡΡΠ΅Ρ ΠΈΠ½Π΄Π΅ΠΊΡΡ ΡΠΈΠΌΠ²ΠΎΠ»ΠΎΠ² Π°Π½Π°Π»ΠΎΠ³ΠΈΡΠ½ΠΎ Π±ΠΎΠ»ΡΡΠ΅ΠΉ ΡΠ°ΡΡΠΈ Π΄ΡΡΠ³ΠΈΡ ΡΡΠ½ΠΊΡΠΈΠΉ Π΄Π»Ρ ΡΠ°Π±ΠΎΡΡ Ρ ΠΌΠ½ΠΎΠ³ΠΎΠ±Π°ΠΉΡΠΎΠ²ΡΠΌΠΈ ΡΡΡΠΎΠΊΠ°ΠΌΠΈ. ΠΠΎΡΡΠΎΠΌΡ ΡΠΈΠΌΠ²ΠΎΠ»ΡΠ½ΡΠ΅ ΠΈΠ½Π΄Π΅ΠΊΡΡ, ΠΊΠΎΡΠΎΡΡΠ΅ Π²ΠΎΠ·Π²ΡΠ°ΡΠ°Π΅Ρ ΡΡΠ½ΠΊΡΠΈΡ mb_strpos(), ΡΠ°Π·ΡΠ΅ΡΠΈΠ»ΠΈ ΠΏΠ΅ΡΠ΅Π΄Π°Π²Π°ΡΡ Π² ΡΡΠ½ΠΊΡΠΈΡ mb_substr().
ΠΠ»Ρ ΡΡΡΠΎΠΊ Π² ΠΊΠΎΠ΄ΠΈΡΠΎΠ²ΠΊΠ΅ SJIS-Mac, ΠΈΠ»ΠΈ Π΅Ρ ΠΏΡΠ΅Π²Π΄ΠΎΠ½ΠΈΠΌΠ΅ MacJapanese, ΠΈΠ½Π΄Π΅ΠΊΡΡ ΡΠΈΠΌΠ²ΠΎΠ»ΠΎΠ², ΠΊΠΎΡΠΎΡΡΠ΅ ΠΏΠ΅ΡΠ΅Π΄Π°ΡΡ Π² ΡΡΠ½ΠΊΡΠΈΡ mb_substr(), ΡΠ΅ΠΏΠ΅ΡΡ ΡΡΡΠ»Π°ΡΡΡΡ Π½Π° ΠΈΠ½Π΄Π΅ΠΊΡΡ ΠΊΠΎΠ΄ΠΎΠ²ΡΡ ΡΠΎΡΠ΅ΠΊ ΠΊΠΎΠ΄ΠΈΡΠΎΠ²ΠΊΠΈ Unicode, ΠΊΠΎΡΠΎΡΡΠ΅ ΠΏΠΎΠ»ΡΡΠ°ΡΡΡΡ ΠΏΡΠΈ ΠΏΡΠ΅ΠΎΠ±ΡΠ°Π·ΠΎΠ²Π°Π½ΠΈΠΈ ΡΡΡΠΎΠΊΠΈ Π² Unicode. ΠΡΠΎ Π²Π°ΠΆΠ½ΠΎ, ΠΏΠΎΡΠΊΠΎΠ»ΡΠΊΡ ΠΎΠΊΠΎΠ»ΠΎ 40 ΡΠΈΠΌΠ²ΠΎΠ»ΠΎΠ² ΠΊΠΎΠ΄ΠΈΡΠΎΠ²ΠΊΠΈ SJIS-Mac ΠΏΡΠ΅ΠΎΠ±ΡΠ°Π·ΠΎΠ²ΡΠ²Π°ΡΡΡΡ Π² ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°ΡΠ΅Π»ΡΠ½ΠΎΡΡΡ ΠΈΠ· Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΈΡ ΠΊΠΎΠ΄ΠΎΠ²ΡΡ ΡΠΎΡΠ΅ΠΊ Unicode.
ΠΠ΅Π²ΠΎΡΡΡΠ΅Π±ΠΎΠ²Π°Π½Π½ΡΡ ΠΈ Π½Π΅Π·Π°Π΄ΠΎΠΊΡΠΌΠ΅Π½ΡΠΈΡΠΎΠ²Π°Π½Π½ΡΡ ΠΊΠΎΠ½ΡΡΠ°Π½ΡΡ
MYSQLI_SET_CHARSET_DIR ΡΠ΄Π°Π»ΠΈΠ»ΠΈ.
ΠΠΎΠ½ΡΡΠ°Π½ΡΡ MYSQLI_STMT_ATTR_PREFETCH_ROWS ΡΠ΄Π°Π»ΠΈΠ»ΠΈ.
Π€ΡΠ½ΠΊΡΠΈΡ Π½Π΅Π΄ΠΎΡΡΡΠΏΠ½Π° Π² Π΄ΡΠ°ΠΉΠ²Π΅ΡΠ΅ mysqlnd.
ΠΠΎΠ½ΡΡΠ°Π½ΡΡ MYSQLI_CURSOR_TYPE_FOR_UPDATE
ΠΈ MYSQLI_CURSOR_TYPE_SCROLLABLE ΡΠ΄Π°Π»ΠΈΠ»ΠΈ.
ΠΡΠΎΡ ΡΡΠ½ΠΊΡΠΈΠΎΠ½Π°Π» Π½ΠΈΠΊΠΎΠ³Π΄Π° Π½Π΅ ΡΠ΅Π°Π»ΠΈΠ·ΠΎΠ²ΡΠ²Π°Π»ΠΈ Π½ΠΈ Π² Π΄ΡΠ°ΠΉΠ²Π΅ΡΠ΅ mysqlnd, Π½ΠΈ Π² Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠ΅ libmysql.
ΠΠ΅Π²ΠΎΡΡΡΠ΅Π±ΠΎΠ²Π°Π½Π½ΡΡ ΠΊΠΎΠ½ΡΡΠ°Π½ΡΡ MYSQLI_TYPE_INTERVAL β
Π·Π°Π³Π»ΡΡΠΊΡ ΠΈ ΠΏΡΠ΅Π²Π΄ΠΎΠ½ΠΈΠΌ ΠΊΠΎΠ½ΡΡΠ°Π½ΡΡ MYSQLI_TYPE_ENUM β
ΡΠ΄Π°Π»ΠΈΠ»ΠΈ.
ΠΠΎΠ΄ ΠΎΡΠΈΠ±ΠΊΠΈ, ΠΊΠΎΡΠΎΡΡΠΌ ΡΠΎΠΎΠ±ΡΠ°ΡΡ ΠΎ ΠΏΡΠ΅Π²ΡΡΠ΅Π½ΠΈΠΈ Π²ΡΠ΅ΠΌΠ΅Π½ΠΈ ΠΎΠΆΠΈΠ΄Π°Π½ΠΈΡ ΡΠ΅ΡΠ²Π΅ΡΠ° MySQL,
ΠΈΠ·ΠΌΠ΅Π½ΠΈΠ»ΠΈ Ρ 2006 Π½Π° 4031
Π΄Π»Ρ ΡΠ΅ΡΠ²Π΅ΡΠΎΠ² MySQL Π²Π΅ΡΡΠΈΠΈ 8.0.24 ΠΈ Π²ΡΡΠ΅.
ΠΠ°ΠΊΡΠΈΠΌΠ°Π»ΡΠ½ΠΎΠ΅ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ Π΄ΠΈΡΠ΅ΠΊΡΠΈΠ²Ρ
opcache.interned_strings_buffer
Π² 64-ΡΠ°Π·ΡΡΠ΄Π½ΡΡ
Π°ΡΡ
ΠΈΡΠ΅ΠΊΡΡΡΠ°Ρ
ΡΠ΅ΠΏΠ΅ΡΡ ΡΠΎΡΡΠ°Π²Π»ΡΠ΅Ρ 32767 ΠΠ.
Π Π°Π½ΡΡΠ΅ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ ΡΠΎΡΡΠ°Π²Π»ΡΠ»ΠΎ 4095 ΠΌΠ΅Π³Π°Π±Π°ΠΉΡΠΎΠ².
ΠΠ½Π°ΡΠ΅Π½ΠΈΡ ΠΊΠΎΠ½ΡΠΈΠ³ΡΡΠ°ΡΠΈΠΈ ΠΏΠΎ ΡΠΌΠΎΠ»ΡΠ°Π½ΠΈΡ Π΄Π»Ρ JIT-ΠΊΠΎΠΌΠΏΠΈΠ»ΡΡΠΎΡΠ° ΠΈΠ·ΠΌΠ΅Π½ΠΈΠ»ΠΈΡΡ
Ρ opcache.jit=tracing
Π½Π° opcache.jit=disable
ΠΈ Ρ opcache.jit_buffer_size=0
Π½Π° opcache.jit_buffer_size=64M.
ΠΡΠΎ Π½Π΅ Π²Π»ΠΈΡΠ΅Ρ Π½Π° ΠΏΠΎΠ²Π΅Π΄Π΅Π½ΠΈΠ΅ Π½Π°Π±Π»ΡΠ΄Π°Π΅ΠΌΡΡ ΠΎΠ±ΡΠ΅ΠΊΡΠΎΠ² ΠΏΠΎ ΡΠΌΠΎΠ»ΡΠ°Π½ΠΈΡ, ΠΏΠΎΡΠΊΠΎΠ»ΡΠΊΡ JIT ΠΏΠΎ-ΠΏΡΠ΅ΠΆΠ½Π΅ΠΌΡ ΠΎΡΠΊΠ»ΡΡΡΠ½ ΠΏΠΎ ΡΠΌΠΎΠ»ΡΠ°Π½ΠΈΡ. ΠΠ΄Π½Π°ΠΊΠΎ ΡΠ΅ΠΏΠ΅ΡΡ JIT-ΠΊΠΎΠΌΠΏΠΈΠ»ΡΡΠΈΡ ΠΎΡΠΊΠ»ΡΡΠ°Π΅ΡΡΡ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΠΎΠΌ opcache.jit, Π° Π½Π΅ opcache.jit_buffer_size. ΠΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠ΅ Π·Π°ΡΡΠΎΠ½Π΅Ρ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Π΅ΠΉ, ΠΊΠΎΡΠΎΡΡΠ΅ ΡΠ°Π½ΡΡΠ΅ Π²ΠΊΠ»ΡΡΠ°Π»ΠΈ JIT ΡΠΎΠ»ΡΠΊΠΎ Π΄ΠΈΡΠ΅ΠΊΡΠΈΠ²ΠΎΠΉ opcache.jit_buffer_size, Π½ΠΎ Π½Π΅ ΡΠΊΠ°Π·ΡΠ²Π°Π»ΠΈ ΡΠ΅ΠΆΠΈΠΌ JIT-ΠΊΠΎΠΌΠΏΠΈΠ»ΡΡΠΈΠΈ Π² Π΄ΠΈΡΠ΅ΠΊΡΠΈΠ²Π΅ opcache.jit. ΠΠΎΡΡΠΎΠΌΡ ΡΡΠΎΠ±Ρ Π²ΠΊΠ»ΡΡΠΈΡΡ JIT-ΠΊΠΎΠΌΠΏΠΈΠ»ΡΡΠΈΡ ΠΏΠΎΡΡΠ΅Π±ΡΠ΅ΡΡΡ ΡΠΊΠ°Π·Π°ΡΡ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ ΠΊΠΎΠ½ΡΠΈΠ³ΡΡΠ°ΡΠΈΠΈ Π΄Π»Ρ Π΄ΠΈΡΠ΅ΠΊΡΠΈΠ²Ρ opcache.jit.
Π’Π΅ΠΏΠ΅ΡΡ ΠΏΡΠΈ Π²ΠΊΠ»ΡΡΡΠ½Π½ΠΎΠΉ JIT-ΠΊΠΎΠΌΠΏΠΈΠ»ΡΡΠΈΠΈ PHP Π±ΡΠ΄Π΅Ρ Π·Π°Π²Π΅ΡΡΠ°ΡΡΡΡ Ρ ΠΊΡΠΈΡΠΈΡΠ΅ΡΠΊΠΎΠΉ ΠΎΡΠΈΠ±ΠΊΠΎΠΉ ΠΏΡΠΈ Π·Π°ΠΏΡΡΠΊΠ΅, Π΅ΡΠ»ΠΈ ΠΈΠ½ΠΈΡΠΈΠ°Π»ΠΈΠ·Π°ΡΠΈΡ JIT-ΠΊΠΎΠΌΠΏΠΈΠ»ΡΡΠΎΡΠ° ΠΏΠΎ ΠΊΠ°ΠΊΠΎΠΉ-Π»ΠΈΠ±ΠΎ ΠΏΡΠΈΡΠΈΠ½Π΅ Π½Π΅ ΡΠ΄Π°Π»Π°ΡΡ.
Π€ΡΠ½ΠΊΡΠΈΠΈ pcntl_sigprocmask(),
pcntl_sigwaitinfo()
ΠΈ pcntl_sigtimedwait() ΡΠ΅ΠΏΠ΅ΡΡ ΠΏΡΠΈ ΠΊΠ°ΠΆΠ΄ΠΎΠΌ Π²ΡΠ·ΠΎΠ²Π΅
Π²ΠΎΠ·Π²ΡΠ°ΡΠ°ΡΡ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ false, Π΅ΡΠ»ΠΈ Π²ΠΎΠ·Π½ΠΈΠΊΠ»Π° ΠΎΡΠΈΠ±ΠΊΠ°.
Π Π°Π½ΡΡΠ΅ Π² ΠΎΡΠ΄Π΅Π»ΡΠ½ΡΡ
ΡΠ»ΡΡΠ°ΡΡ
ΡΡΠ½ΠΊΡΠΈΠΈ ΠΈΠ½ΠΎΠ³Π΄Π° Π²ΠΎΠ·Π²ΡΠ°ΡΠ°Π»ΠΈ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ -1.
ΠΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΡ pcre2lib, ΠΊΠΎΡΠΎΡΠ°Ρ ΠΈΠ΄ΡΡ Π² ΠΊΠΎΠΌΠΏΠ»Π΅ΠΊΡΠ΅ ΠΏΠΎΡΡΠ°Π²ΠΊΠΈ, ΠΎΠ±Π½ΠΎΠ²ΠΈΠ»ΠΈ Π΄ΠΎ Π²Π΅ΡΡΠΈΠΈ 10.44.
ΠΠΎΡΡΠΎΠΌΡ Π·Π°ΠΏΠΈΡΡ {,3} ΡΠ΅ΠΏΠ΅ΡΡ ΡΠ°ΡΠΏΠΎΠ·Π½Π°Π΅ΡΡΡ ΠΊΠ°ΠΊ ΠΊΠ²Π°Π½ΡΠΈΡΠΈΠΊΠ°ΡΠΎΡ, Π° Π½Π΅ ΠΊΠ°ΠΊ ΡΠ΅ΠΊΡΡ.
ΠΡΠΎΠΌΠ΅ ΡΠΎΠ³ΠΎ, ΠΈΠ·ΠΌΠ΅Π½ΠΈΠ»ΠΎΡΡ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ ΠΎΡΠ΄Π΅Π»ΡΠ½ΡΡ
ΠΊΠ»Π°ΡΡΠΎΠ² ΡΠΈΠΌΠ²ΠΎΠ»ΠΎΠ² Π² ΡΠ΅ΠΆΠΈΠΌΠ΅ UCP.
ΠΠΎΠ»Π½ΡΠΉ ΠΏΠ΅ΡΠ΅ΡΠ΅Π½Ρ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠΉ ΠΏΡΠΈΠ²ΠΎΠ΄ΠΈΡ
» ΡΠΏΠΈΡΠΎΠΊ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠΉ PCRE2.
ΠΡΡΠΈΠ±ΡΡΡ Pdo\Dblib::ATTR_STRINGIFY_UNIQUEIDENTIFIER
ΠΈ Pdo\Dblib::ATTR_DATETIME_CONVERT ΡΠ΅ΠΏΠ΅ΡΡ Π΄Π΅ΠΉΡΡΠ²ΡΡΡ ΠΊΠ°ΠΊ Π»ΠΎΠ³ΠΈΡΠ΅ΡΠΊΠΈΠ΅ Π°ΡΡΠΈΠ±ΡΡΡ
Π²ΠΌΠ΅ΡΡΠΎ ΡΠ΅Π»ΠΎΡΠΈΡΠ»Π΅Π½Π½ΡΡ
.
ΠΠΎΡΡΠΎΠΌΡ ΡΡΡΠ°Π½ΠΎΠ²ΠΊΠ° Π°ΡΡΠΈΠ±ΡΡΠ° ΠΌΠ΅ΡΠΎΠ΄ΠΎΠΌ PDO::setAttribute()
ΠΈ ΠΏΠΎΠ»ΡΡΠ΅Π½ΠΈΠ΅ Π°ΡΡΠΈΠ±ΡΡΠ° ΠΌΠ΅ΡΠΎΠ΄ΠΎΠΌ PDO::getAttribute() ΠΎΠΆΠΈΠ΄Π°Π΅Ρ
ΠΈ Π²ΠΎΠ·Π²ΡΠ°ΡΠ°Π΅Ρ Π»ΠΎΠ³ΠΈΡΠ΅ΡΠΊΠΎΠ΅ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ (bool).
ΠΡΡΠΈΠ±ΡΡ PDO::ATTR_AUTOCOMMIT ΡΠ΅ΠΏΠ΅ΡΡ Π΄Π΅ΠΉΡΡΠ²ΡΠ΅Ρ ΠΊΠ°ΠΊ Π»ΠΎΠ³ΠΈΡΠ΅ΡΠΊΠΈΠΉ Π°ΡΡΠΈΠ±ΡΡ
Π²ΠΌΠ΅ΡΡΠΎ ΡΠ΅Π»ΠΎΡΠΈΡΠ»Π΅Π½Π½ΠΎΠ³ΠΎ.
ΠΠΎΡΡΠΎΠΌΡ ΡΡΡΠ°Π½ΠΎΠ²ΠΊΠ° Π°ΡΡΠΈΠ±ΡΡΠ° ΠΌΠ΅ΡΠΎΠ΄ΠΎΠΌ PDO::setAttribute()
ΠΈ ΠΏΠΎΠ»ΡΡΠ΅Π½ΠΈΠ΅ Π°ΡΡΠΈΠ±ΡΡΠ° ΠΌΠ΅ΡΠΎΠ΄ΠΎΠΌ PDO::getAttribute() ΠΎΠΆΠΈΠ΄Π°Π΅Ρ
ΠΈ Π²ΠΎΠ·Π²ΡΠ°ΡΠ°Π΅Ρ Π»ΠΎΠ³ΠΈΡΠ΅ΡΠΊΠΎΠ΅ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ (bool).
ΠΠΎΠ΄ΡΠ»Ρ ΡΠ΅ΠΏΠ΅ΡΡ ΡΠ°ΡΠΊΡΡΠ²Π°Π΅Ρ ΠΎΡΠ΄Π΅Π»ΡΠ½ΡΠ΅ API-ΠΈΠ½ΡΠ΅ΡΡΠ΅ΠΉΡΡ Π‘Π£ΠΠ Firebird Π½Π° ΡΠ·ΡΠΊΠ΅ C++, ΠΏΠΎΡΡΠΎΠΌΡ Π΄Π»Ρ ΡΠ±ΠΎΡΠΊΠΈ ΠΌΠΎΠ΄ΡΠ»Ρ ΡΠ΅ΠΏΠ΅ΡΡ ΡΡΠ΅Π±ΡΠ΅ΡΡΡ ΠΊΠΎΠΌΠΏΠΈΠ»ΡΡΠΎΡ C++. ΠΠΎΠ»Π΅Π΅ ΡΠΎΠ³ΠΎ, ΡΠ΅ΠΏΠ΅ΡΡ ΠΌΠΎΠ΄ΡΠ»Ρ ΠΏΠΎΡΡΠ΅Π±ΡΠ΅ΡΡΡ ΡΠΊΠΎΠΌΠΏΠΈΠ»ΠΈΡΠΎΠ²Π°ΡΡ Ρ Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠΎΠΉ fbclient 3.0 ΠΈΠ»ΠΈ Π²ΡΡΠ΅.
ΠΡΡΠΈΠ±ΡΡΡ PDO::ATTR_AUTOCOMMIT, PDO::ATTR_EMULATE_PREPARES
ΠΈ PDO::MYSQL_ATTR_DIRECT_QUERY ΡΠ΅ΠΏΠ΅ΡΡ Π΄Π΅ΠΉΡΡΠ²ΡΡΡ ΠΊΠ°ΠΊ Π»ΠΎΠ³ΠΈΡΠ΅ΡΠΊΠΈΠ΅
Π°ΡΡΠΈΠ±ΡΡΡ Π²ΠΌΠ΅ΡΡΠΎ ΡΠ΅Π»ΠΎΡΠΈΡΠ»Π΅Π½Π½ΡΡ
.
ΠΠΎΡΡΠΎΠΌΡ ΡΡΡΠ°Π½ΠΎΠ²ΠΊΠ° Π°ΡΡΠΈΠ±ΡΡΠ° ΠΌΠ΅ΡΠΎΠ΄ΠΎΠΌ PDO::setAttribute()
ΠΈ ΠΏΠΎΠ»ΡΡΠ΅Π½ΠΈΠ΅ Π°ΡΡΠΈΠ±ΡΡΠ° ΠΌΠ΅ΡΠΎΠ΄ΠΎΠΌ PDO::getAttribute()
ΠΎΠΆΠΈΠ΄Π°Π΅Ρ ΠΈ Π²ΠΎΠ·Π²ΡΠ°ΡΠ°Π΅Ρ Π»ΠΎΠ³ΠΈΡΠ΅ΡΠΊΠΎΠ΅ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ (bool).
ΠΡΠΈΠΎΡΠΈΡΠ΅Ρ ΡΡΡΡΠ½ΡΡ Π΄Π°Π½Π½ΡΡ , ΠΊΠΎΡΠΎΡΡΠ΅ ΡΠΊΠ°Π·Π°Π»ΠΈ Π² DSN-ΡΡΡΠΎΠΊΠ΅ ΠΏΠΎΠ΄ΠΊΠ»ΡΡΠ΅Π½ΠΈΡ ΠΊΠΎΠ½ΡΡΡΡΠΊΡΠΎΡΠ° ΠΊΠ»Π°ΡΡΠ° PDO, Π²ΡΡΠ΅, ΡΠ΅ΠΌ ΠΏΡΠΈΠΎΡΠΈΡΠ΅Ρ ΡΡΡΡΠ½ΡΡ Π΄Π°Π½Π½ΡΡ , ΠΊΠΎΡΠΎΡΡΠ΅ ΡΠΊΠ°Π·Π°Π»ΠΈ Π²ΠΎ Π²ΡΠΎΡΠΎΠΌ ΠΈ ΡΡΠ΅ΡΡΠ΅ΠΌ Π°ΡΠ³ΡΠΌΠ΅Π½ΡΠ°Ρ ΠΊΠΎΠ½ΡΡΡΡΠΊΡΠΎΡΠ°, ΠΏΠΎΡΠΊΠΎΠ»ΡΠΊΡ ΡΡΡΡΠ½ΡΠ΅ Π΄Π°Π½Π½ΡΠ΅ Π² DSN-ΡΡΡΠΎΠΊΠ΅ ΠΏΠΎΠ΄ΠΊΠ»ΡΡΠ΅Π½ΠΈΡ Π±Π»ΠΈΠΆΠ΅ ΠΊ ΠΏΠΎΠ»ΠΎΠΆΠ΅Π½ΠΈΡΠΌ Π΄ΠΎΠΊΡΠΌΠ΅Π½ΡΠ°ΡΠΈΠΈ.
ΠΠ±ΡΠ΅ΠΊΡ ΠΊΠ»Π°ΡΡΠ° SimpleXMLElement β ΠΏΡΠ΅Π΄ΡΡΠ°Π²Π»ΡΠ΅Ρ Π½Π΅ ΡΠΎΠ»ΡΠΊΠΎ ΡΠ»Π΅ΠΌΠ΅Π½Ρ Π² XML-Π΄ΠΎΠΊΡΠΌΠ΅Π½ΡΠ΅, Π½ΠΎ ΠΈ ΠΈΠ½ΡΠ΅ΡΡΠ΅ΠΉΡ RecursiveIterator. ΠΠΎ PHP 8.4.0 ΠΎΡΠ΄Π΅Π»ΡΠ½ΡΠ΅ ΠΌΠ΅ΡΠΎΠ΄Ρ ΠΊΠ»Π°ΡΡΠ° Π½Π°ΠΏΠΎΠ΄ΠΎΠ±ΠΈΠ΅ SimpleXMLElement::asXML() ΠΈΠ»ΠΈ SimpleXMLElement::getName() ΠΈ ΠΏΡΠΈΠ²Π΅Π΄Π΅Π½ΠΈΠ΅ ΡΠ°ΠΊΠΈΡ ΡΠΊΠ·Π΅ΠΌΠΏΠ»ΡΡΠΎΠ² ΠΊ ΡΡΡΠΎΠΊΠ΅ (string) Π½Π΅ΡΠ²Π½ΠΎ ΡΠ±ΡΠ°ΡΡΠ²Π°Π»ΠΈ ΠΈΡΠ΅ΡΠ°ΡΠΎΡ.
Π’Π°ΠΊΠΎΠ΅ ΠΏΠΎΠ²Π΅Π΄Π΅Π½ΠΈΠ΅ ΠΈΠ½ΠΎΠ³Π΄Π° Π΄Π΅Π»Π°Π»ΠΎ ΡΠΈΠΊΠ»Ρ Π±Π΅ΡΠΊΠΎΠ½Π΅ΡΠ½ΡΠΌΠΈ, ΠΏΠΎΡΠΊΠΎΠ»ΡΠΊΡ ΠΈΡΠ΅ΡΠ°ΡΠΎΡ ΠΎΡΠΌΠ°ΡΡΠ²Π°Π»ΡΡ ΠΊ ΠΏΠ΅ΡΠ²ΠΎΠΌΡ ΡΠ»Π΅ΠΌΠ΅Π½ΡΡ. ΠΡΠΈΠ²Π΅Π΄ΡΠΌ ΠΏΡΠΈΠΌΠ΅Ρ. Π‘Π»Π΅Π΄ΡΡΡΠΈΠΉ ΠΊΠΎΠ΄:
<?php
$xmlString = "<root><a><b>1</b><b>2</b><b>3</b></a></root>";
$xml = simplexml_load_string($xmlString);
$nodes = $xml->a->b;
foreach ($nodes as $nodeData) {
echo "ΠΠ°Π½Π½ΡΠ΅ ΡΠ·Π»Π°: " . $nodeData . "\n";
$xml = $nodes->asXml();
}β¦Π²ΡΠ·ΠΎΠ²Π΅Ρ Π±Π΅ΡΠΊΠΎΠ½Π΅ΡΠ½ΡΠΉ ΡΠΈΠΊΠ».
ΠΠ°Π½Π½ΡΠ΅ ΡΠ·Π»Π°: 1 ΠΠ°Π½Π½ΡΠ΅ ΡΠ·Π»Π°: 2 ΠΠ°Π½Π½ΡΠ΅ ΡΠ·Π»Π°: 2 ΠΠ°Π½Π½ΡΠ΅ ΡΠ·Π»Π°: 2 ΠΠ°Π½Π½ΡΠ΅ ΡΠ·Π»Π°: 2 ΠΠ°Π½Π½ΡΠ΅ ΡΠ·Π»Π°: 2 ΠΠ°Π½Π½ΡΠ΅ ΡΠ·Π»Π°: 2 // ...
ΠΡΠΎ ΠΏΠΎΠ²Π΅Π΄Π΅Π½ΠΈΠ΅ ΠΈΡΠΏΡΠ°Π²ΠΈΠ»ΠΈ, ΠΈ ΡΠ»Π΅ΠΌΠ΅Π½Ρ SimpleXMLElement Π±ΠΎΠ»ΡΡΠ΅ Π½Π΅ Π±ΡΠ΄Π΅Ρ Π½Π΅ΡΠ²Π½ΠΎ ΡΠ±ΡΠ°ΡΡΠ²Π°ΡΡ Π΄Π°Π½Π½ΡΠ΅ ΠΈΡΠ΅ΡΠ°ΡΠΎΡΠ°, Π΅ΡΠ»ΠΈ ΡΠΎΠ»ΡΠΊΠΎ ΠΈΡΠ΅ΡΠ°ΡΠΎΡ Π½Π΅ ΠΎΡΠΌΠΎΡΠ°ΡΡ Π²ΡΡΡΠ½ΡΡ. ΠΠΎΡΡΠΎΠΌΡ ΠΏΡΠΈΠ²Π΅Π΄ΡΠ½Π½ΡΠΉ ΠΏΡΠΈΠΌΠ΅Ρ ΡΠ΅ΠΏΠ΅ΡΡ Π±ΡΠ΄Π΅Ρ Π²ΡΠ²ΠΎΠ΄ΠΈΡΡ ΡΠ»Π΅Π΄ΡΡΡΠΈΠ΅ Π΄Π°Π½Π½ΡΠ΅:
ΠΠ°Π½Π½ΡΠ΅ ΡΠ·Π»Π°: 1 ΠΠ°Π½Π½ΡΠ΅ ΡΠ·Π»Π°: 2 ΠΠ°Π½Π½ΡΠ΅ ΡΠ·Π»Π°: 3
Π Π°Π·ΡΠ°Π±ΠΎΡΡΠΈΠΊΠΈ ΠΏΡΠ΅Π΄ΡΡΠ°Π²ΠΈΠ»ΠΈ ΡΠ²ΠΎΠΉΡΡΠ²ΠΎ SoapClient::$typemap
ΠΌΠ°ΡΡΠΈΠ²ΠΎΠΌ (array), Π° Π½Π΅ ΡΠ΅ΡΡΡΡΠΎΠΌ (resource).
ΠΡΠΎΠ²Π΅ΡΠΊΠΈ ΡΡΠ½ΠΊΡΠΈΠ΅ΠΉ is_resource() Π½Π°ΠΏΠΎΠ΄ΠΎΠ±ΠΈΠ΅
is_resource($client->typemap) ΠΏΠΎΡΡΠ΅Π±ΡΠ΅ΡΡΡ
Π·Π°ΠΌΠ΅Π½ΠΈΡΡ ΠΏΡΠΎΠ²Π΅ΡΠΊΠΎΠΉ Π½Π° null Π²ΡΠΎΠ΄Π΅ $client->typemap !== null.
ΠΠΎΠ΄ΡΠ»Ρ SOAP ΠΏΠΎΠ»ΡΡΠΈΠ» Π½Π΅ΠΎΠ±ΡΠ·Π°ΡΠ΅Π»ΡΠ½ΡΡ Π·Π°Π²ΠΈΡΠΈΠΌΠΎΡΡΡ ΠΎΡ ΠΌΠΎΠ΄ΡΠ»Ρ session. Π’Π΅ΠΏΠ΅ΡΡ ΠΏΡΠΈ Π·Π°ΠΏΡΡΠΊΠ΅ Π±ΡΠ΄ΡΡ Π²ΠΎΠ·Π½ΠΈΠΊΠ°ΡΡ ΠΎΡΠΈΠ±ΠΊΠΈ, Π΅ΡΠ»ΠΈ Π²ΠΊΠ»ΡΡΠΈΡΡ ΠΌΠΎΠ΄ΡΠ»Ρ SOAP, Π° PHP ΡΠΎΠ±ΡΠ°ΡΡ Π±Π΅Π· ΠΌΠΎΠ΄ΡΠ»Ρ session, Π½ΠΎ Ρ ΡΠ»Π°Π³ΠΎΠΌ ΠΊΠΎΠ½ΡΠΈΠ³ΡΡΠ°ΡΠΈΠΈ --enable-rtld-now. ΠΡΠΎΠ±Π»Π΅ΠΌΡ ΡΠ΅ΡΠ°ΡΡ Π΄Π²ΡΠΌΡ ΡΠΏΠΎΡΠΎΠ±Π°ΠΌΠΈ: Π»ΠΈΠ±ΠΎ Π½Π΅ Π²ΠΊΠ»ΡΡΠ°ΡΡ ΡΠ΅ΠΆΠΈΠΌ rtld-now, Π»ΠΈΠ±ΠΎ Π·Π°Π³ΡΡΠΆΠ°ΡΡ ΠΌΠΎΠ΄ΡΠ»Ρ ΡΠ΅ΡΡΠΈΠΉ.
Π’Π΅ΠΏΠ΅ΡΡ ΠΏΡΠΈ Π²ΡΠ·ΠΎΠ²Π΅ ΡΡΠ½ΠΊΡΠΈΠΈ strcspn()
Ρ ΠΏΠ΅ΡΠ΅Π΄Π°ΡΠ΅ΠΉ Π² Π°ΡΠ³ΡΠΌΠ΅Π½ΡΠ΅ characters ΠΏΡΡΡΠΎΠΉ ΡΡΡΠΎΠΊΠΈ
Π²ΠΌΠ΅ΡΡΠΎ Π½Π΅ΠΏΡΠ°Π²ΠΈΠ»ΡΠ½ΠΎΠΉ ΠΎΡΡΠ°Π½ΠΎΠ²ΠΊΠΈ Π½Π° ΠΏΠ΅ΡΠ²ΠΎΠΌ Π½ΡΠ»Π΅Π²ΠΎΠΌ Π±Π°ΠΉΡΠ΅
Π²ΠΎΠ·Π²ΡΠ°ΡΠ°Π΅ΡΡΡ Π΄Π»ΠΈΠ½Π° ΡΡΡΠΎΠΊΠΈ.
Π€ΡΠ½ΠΊΡΠΈΡ http_build_query() ΡΠ΅ΠΏΠ΅ΡΡ ΠΊΠΎΡΡΠ΅ΠΊΡΠ½ΠΎ ΠΎΠ±ΡΠ°Π±Π°ΡΡΠ²Π°Π΅Ρ ΡΠΈΠΏΠΈΠ·ΠΈΡΠΎΠ²Π°Π½Π½ΡΠ΅ ΠΏΠ΅ΡΠ΅ΡΠΈΡΠ»Π΅Π½ΠΈΡ.
Π€ΡΠ½ΠΊΡΠΈΠΈ stream_bucket_make_writeable() ΠΈ stream_bucket_new() ΡΠ΅ΠΏΠ΅ΡΡ Π²ΠΎΠ·Π²ΡΠ°ΡΠ°ΡΡ ΡΠΊΠ·Π΅ΠΌΠΏΠ»ΡΡ ΠΊΠ»Π°ΡΡΠ° StreamBucket, Π° Π½Π΅ ΠΊΠ»Π°ΡΡΠ° stdClass.
Π’Π΅ΠΏΠ΅ΡΡ Π²ΠΌΠ΅ΡΡΠΎ ΠΏΡΠ΅Π΄ΡΠΏΡΠ΅ΠΆΠ΄Π΅Π½ΠΈΠΉ ΠΈ ΠΏΠΎΠ²ΡΠ΅ΠΆΠ΄Π΅Π½ΠΈΡ ΠΎΠ±ΡΠ΅ΠΊΡΠ° ΡΠ±ΠΎΠΈ Π² ΠΊΠΎΠ½ΡΡΡΡΠΊΡΠΎΡΠ΅ Π²ΡΠ±ΡΠ°ΡΡΠ²Π°ΡΡ ΠΈΡΠΊΠ»ΡΡΠ΅Π½ΠΈΠ΅.
Π€ΡΠ½ΠΊΡΠΈΠΈ ΡΠ΅ΠΌΠ΅ΠΉΡΡΠ²Π° xml_set_*_handler
ΡΠ΅ΠΏΠ΅ΡΡ ΠΎΠ±ΡΡΠ²Π»ΡΡΡ ΠΈ ΠΏΡΠΎΠ²Π΅ΡΡΡΡ ΡΠΈΠ³Π½Π°ΡΡΡΡ
callable|string|null
ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΠΎΠ² handler.
ΠΠΎΠ»ΡΡΠ΅ ΡΠΎΠ³ΠΎ, Π·Π½Π°ΡΠ΅Π½ΠΈΡ Ρ ΡΠΈΠΏΠΎΠΌ string, ΠΊΠΎΡΠΎΡΡΠ΅ ΡΠΎΠΎΡΠ²Π΅ΡΡΡΠ²ΡΡΡ Π½Π°Π·Π²Π°Π½ΠΈΡΠΌ ΠΌΠ΅ΡΠΎΠ΄ΠΎΠ²,
ΠΊΠΎΡΠΎΡΡΠ΅ Π·Π°Π΄Π°Π»ΠΈ ΡΡΠ½ΠΊΡΠΈΠ΅ΠΉ xml_set_object(),
ΡΠ΅ΠΏΠ΅ΡΡ ΠΏΡΠΎΠ²Π΅ΡΡΡΡΡΡ Π½Π° ΡΡΡΠ΅ΡΡΠ²ΠΎΠ²Π°Π½ΠΈΠ΅ ΠΌΠ΅ΡΠΎΠ΄Π° Π² ΠΊΠ»Π°ΡΡΠ΅ ΠΎΠ±ΡΠ΅ΠΊΡΠ°, ΠΊΠΎΡΠΎΡΡΠΉ ΠΏΠ΅ΡΠ΅Π΄Π°Π»ΠΈ ΠΏΡΠ΅ΠΆΠ΄Π΅.
ΠΠΎΡΡΠΎΠΌΡ ΡΠ΅ΠΏΠ΅ΡΡ ΠΏΠ΅ΡΠ΅Π΄ ΡΡΡΠ°Π½ΠΎΠ²ΠΊΠΎΠΉ Π½Π°Π·Π²Π°Π½ΠΈΠΉ ΠΌΠ΅ΡΠΎΠ΄ΠΎΠ², ΠΊΠΎΡΠΎΡΡΠ΅ ΡΡΡΠ°Π½Π°Π²Π»ΠΈΠ²Π°ΡΡΡΡ ΠΊΠ°ΠΊ callable-ΠΎΠ±ΡΠ°Π±ΠΎΡΡΠΈΠΊΠΈ,
ΡΡΠ΅Π±ΡΠ΅ΡΡΡ ΠΊΠ°ΠΆΠ΄ΡΠΉ ΡΠ°Π· Π²ΡΠ·ΡΠ²Π°ΡΡ ΡΡΠ½ΠΊΡΠΈΡ xml_set_object().
ΠΠ΅ΡΠ΅Π΄Π°ΡΠ° ΠΏΡΡΡΠΎΠΉ ΡΡΡΠΎΠΊΠΈ Π΄Π»Ρ ΠΎΡΠΊΠ»ΡΡΠ΅Π½ΠΈΡ ΠΎΠ±ΡΠ°Π±ΠΎΡΡΠΈΠΊΠ° ΠΏΠΎ-ΠΏΡΠ΅ΠΆΠ½Π΅ΠΌΡ ΡΠ°Π·ΡΠ΅ΡΠ°Π΅ΡΡΡ, Π½ΠΎ ΡΡΡΠ°ΡΠ΅Π»Π°.
ΠΠ΄Π½Π°ΠΊΠΎ, ΠΏΠΎΡΠΊΠΎΠ»ΡΠΊΡ ΡΡΠ½ΠΊΡΠΈΡ xml_set_object() ΠΈ ΠΏΠ΅ΡΠ΅Π΄Π°ΡΠ° ΡΡΡΠΎΠΊ, ΠΊΠΎΡΠΎΡΡΠ΅ Π½Π΅ ΠΏΡΠΈΠ½Π°Π΄Π»Π΅ΠΆΠ°Ρ ΡΠΈΠΏΡ callable, ΡΡΡΠ°ΡΠ΅Π»ΠΈ, ΡΠ΅ΠΊΠΎΠΌΠ΅Π½Π΄ΡΡΡ Π·Π°ΠΌΠ΅Π½ΠΈΡΡ ΡΠ°ΠΊΠΈΠ΅ ΡΠΊΠ·Π΅ΠΌΠΏΠ»ΡΡΡ callable-ΠΎΠ±ΡΠ°Π±ΠΎΡΡΠΈΠΊΠ°ΠΌΠΈ, ΠΊΠΎΡΠΎΡΡΠ΅ ΡΡΡΠ»Π°ΡΡΡΡ Π½Π΅ΠΏΠΎΡΡΠ΅Π΄ΡΡΠ²Π΅Π½Π½ΠΎ Π½Π° ΠΌΠ΅ΡΠΎΠ΄.