เบเบฒเบ™เบ›เปˆเบญเบเป‚เบ›เบฃเปเบเบฃเบกเบžเบฒเบชเบฒ PHP 8.3

เบซเบผเบฑเบ‡เบˆเบฒเบเบซเบ™เบถเปˆเบ‡เบ›เบตเบ‚เบญเบ‡เบเบฒเบ™เบžเบฑเบ”เบ—เบฐเบ™เบฒ, เบเบฒเบ™เบ›เปˆเบญเบเบžเบฒเบชเบฒเบเบฒเบ™เบ‚เบฝเบ™เป‚เบ›เบผเปเบเบผเบก PHP 8.3 เป„เบ”เป‰เบ–เบทเบเบ™เปเบฒเบชเบฐเป€เบซเบ™เบต. เบชเบฒเบ‚เบฒเปƒเบซเบกเปˆเบ›เบฐเบเบญเบšเบกเบตเบŠเบธเบ”เบ‚เบญเบ‡เบฅเบฑเบเบชเบฐเบ™เบฐเปƒเบซเบกเปˆ, เป€เบŠเบฑเปˆเบ™เบ”เบฝเบงเบเบฑเบ™เบเบฑเบšเบเบฒเบ™เบ›เปˆเบฝเบ™เปเบ›เบ‡เบˆเปเบฒเบ™เบงเบ™เบซเบ™เบถเปˆเบ‡เบ—เบตเปˆเบ—เปเบฒเบฅเบฒเบเบ„เบงเบฒเบกเป€เบ‚เบปเป‰เบฒเบเบฑเบ™เป„เบ”เป‰.

เบเบฒเบ™เบ›เปˆเบฝเบ™เปเบ›เบ‡เบ—เบตเปˆเบชเปเบฒเบ„เบฑเบ™เปƒเบ™ PHP 8.3:

  • เปƒเบ™เบฅเบฐเบซเบงเปˆเบฒเบ‡เบเบฒเบ™ cloning เบซเป‰เบญเบ‡เบฎเบฝเบ™, เบกเบฑเบ™เป€เบ›เบฑเบ™เป„เบ›เป„เบ”เป‰เบ—เบตเปˆเบˆเบฐ reinitialize เบ„เบธเบ™เบชเบปเบกเบšเบฑเบ”เบ—เบตเปˆเบกเบตเบ„เบธเบ™เบชเบปเบกเบšเบฑเบ” "เบญเปˆเบฒเบ™เป€เบ—เบปเปˆเบฒเบ™เบฑเป‰เบ™". overriding readonly properties เปเบกเปˆเบ™เบญเบฐเบ™เบธเบเบฒเบ”เปƒเบซเป‰เบขเบนเปˆเปƒเบ™เบŸเบฑเบ‡เบŠเบฑเบ™ โ€œ__cloneโ€ เป€เบ—เบปเปˆเบฒเบ™เบฑเป‰เบ™: readonly class Post { public function __construct( public DateTime $createdAt , ) {} public function __clone() { $this->createdAt = new DateTime(); // เบญเบฐเบ™เบธเบเบฒเบ”เป€เบ–เบดเบ‡เปเบกเปˆเบ™เบงเปˆเบฒเบ„เบธเบ™เบชเบปเบกเบšเบฑเบ” "createdAt" เปเบกเปˆเบ™เบเบฒเบ™เบญเปˆเบฒเบ™เป€เบ—เบปเปˆเบฒเบ™เบฑเป‰เบ™. } }
  • เบ„เบงเบฒเบกเบชเบฒเบกเบฒเบ”เปƒเบ™เบเบฒเบ™เบ™เปเบฒเปƒเบŠเป‰เบ„เปˆเบฒเบ„เบปเบ‡เบ—เบตเปˆเบ—เบตเปˆเบกเบตเบ•เบปเบงเบŠเบตเป‰เบšเบญเบเบ›เบฐเป€เบžเบ”เปƒเบ™เบŠเบฑเป‰เบ™เบฎเบฝเบ™, เบฅเบฑเบเบชเบฐเบ™เบฐเปเบฅเบฐเบเบฒเบ™เบ™เบฑเบšเบˆเปเบฒเบ™เบงเบ™เป„เบ”เป‰เบ–เบทเบเบชเบฐเบซเบ™เบญเบ‡เปƒเบซเป‰: class Foo { const string BAR = 'baz'; }
  • เป€เบžเบตเปˆเบกเบเบฒเบ™เบฎเบญเบ‡เบฎเบฑเบšเบ„เบธเบ™เบชเบปเบกเบšเบฑเบ” โ€œ#[Override]โ€, เป€เบŠเบดเปˆเบ‡เบœเบนเป‰เบžเบฑเบ”เบ—เบฐเบ™เบฒเบชเบฒเบกเบฒเบ”เปเบˆเป‰เบ‡เปƒเบซเป‰เบ™เบฒเบเปเบ›เบžเบฒเบชเบฒเบฎเบนเป‰เบงเปˆเบฒเบงเบดเบ—เบตเบเบฒเบ™เบ—เบตเปˆเปเบฒเบเป„เบงเป‰เบˆเบฐเปเบ—เบ™เบ—เบตเปˆเบšเบฒเบ‡เบงเบดเบ—เบตเบ‚เบญเบ‡เบžเปเปˆเปเบกเปˆ. เบ–เป‰เบฒเบšเปเปˆเบกเบตเบเบฒเบ™เบฅเบปเบšเบฅเป‰เบฒเบ‡, เบ™เบฒเบเบžเบฒเบชเบฒเบˆเบฐเบชเบฐเปเบ”เบ‡เบ‚เปเป‰เบœเบดเบ”เบžเบฒเบ”.
  • เบเบฒเบ™เบ›เปˆเบฝเบ™เปเบ›เบ‡เบเบฒเบ™เบˆเบฑเบ”เบเบฒเบ™เบ„เปˆเบฒเบ—เบฒเบ‡เบฅเบปเบšเป€เบ›เบฑเบ™เบ”เบฑเบ”เบŠเบฐเบ™เบตเบญเบฒเป€เบฃ. เบ•เบปเบงเบขเปˆเบฒเบ‡, เป€เบกเบทเปˆเบญเป€เบžเบตเปˆเบกเบญเบปเบ‡เบ›เบฐเบเบญเบšเบ—เบตเปˆเบกเบตเบ•เบปเบงเป€เบฅเบ "-5" เปƒเบชเปˆ array เบซเบงเปˆเบฒเบ‡เป€เบ›เบปเปˆเบฒเปเบฅเบฐเป€เบžเบตเปˆเบกเบญเบปเบ‡เบ›เบฐเบเบญเบšเบญเบทเปˆเบ™, เบเปˆเบญเบ™เบซเบ™เป‰เบฒเบ™เบตเป‰เบญเบปเบ‡เบ›เบฐเบเบญเบšเบ—เบตเบชเบญเบ‡เบ–เบทเบเบšเบฑเบ™เบ—เบถเบเป„เบงเป‰เบ”เป‰เบงเบเบ”เบฑเบ”เบชเบฐเบ™เบต "0", เปเบ•เปˆเป€เบฅเบตเปˆเบกเบ•เบปเป‰เบ™เบˆเบฒเบเบฎเบธเปˆเบ™ PHP 8.3 เบกเบฑเบ™เบˆเบฐเบ–เบทเบเบšเบฑเบ™เบ—เบถเบเป„เบงเป‰เบ”เป‰เบงเบเบ”เบฑเบ”เบŠเบฐเบ™เบต "-4" . $array = []; $array[-5] = 'a'; $array[] = 'b'; var_export($ array); // Was array (-5 => 'a', 0 => 'b') // เบเบฒเบโ€‹เป€เบ›เบฑเบ™ array (-5 => 'a', -4 => 'b')
  • เป€เบžเบตเปˆเบกเบ„เบงเบฒเบกเบชเบฒเบกเบฒเบ”เปƒเบ™เบเบฒเบ™เบชเป‰เบฒเบ‡เบซเป‰เบญเบ‡เบฎเบฝเบ™เบ—เบตเปˆเบšเปเปˆเป€เบ›เบตเบ”เป€เบœเบตเบเบŠเบทเปˆเปƒเบ™เป‚เบซเบกเบ”เบญเปˆเบฒเบ™เป€เบ—เบปเปˆเบฒเบ™เบฑเป‰เบ™: $class = new readonly class { public function __construct( public string $foo = 'bar', ) {} };
  • เป€เบžเบตเปˆเบกเบŸเบฑเบ‡เบŠเบฑเบ™ json_validate() เป€เบžเบทเปˆเบญเบเบงเบ”เป€เบšเบดเปˆเบ‡เบงเปˆเบฒเบชเบฐเบ•เบฃเบดเบ‡เบขเบนเปˆเปƒเบ™เบฎเบนเบšเปเบšเบš JSON เบขเปˆเบฒเบ‡เบงเปˆเบญเบ‡เป„เบงเบซเบผเบทเบšเปเปˆเบ”เปเบฒเป€เบ™เบตเบ™เบเบฒเบ™เบ–เบญเบ”เบฅเบฐเบซเบฑเบ”. json_validate(string $json, int $depth = 512, int $flags = 0): bool
  • เบงเบดเบ—เบตเบเบฒเบ™เปƒเบซเบกเปˆเป„เบ”เป‰เบ–เบทเบเป€เบžเบตเปˆเบกเป€เบ‚เบปเป‰เบฒเปƒเบ™เบซเป‰เบญเบ‡เบฎเบฝเบ™ Randomizer, เป€เบŠเบดเปˆเบ‡เบชเบฐเบซเบ™เบญเบ‡ API เบฅเบฐเบ”เบฑเบšเบชเบนเบ‡เบชเปเบฒเบฅเบฑเบšเบเบฒเบ™เบชเป‰เบฒเบ‡เบ•เบปเบงเป€เบฅเบ pseudo-random เปเบฅเบฐเบฅเปเบฒเบ”เบฑเบš: getBytesFromString เบชเปเบฒเบฅเบฑเบšเบเบฒเบ™เบชเป‰เบฒเบ‡ string เบ‚เบญเบ‡เบ‚เบฐเบซเบ™เบฒเบ”เปƒเบ”เบซเบ™เบถเปˆเบ‡, เบเบฒเบ™เบ™เปเบฒเปƒเบŠเป‰เปƒเบ™เบฅเปเบฒเบ”เบฑเบš Random เบ•เบปเบงเบญเบฑเบเบชเบญเบ™เบ—เบตเปˆเบกเบตเบขเบนเปˆเปƒเบ™ string เบญเบทเปˆเบ™; getFloat เปเบฅเบฐ nextFloat เป€เบžเบทเปˆเบญเบชเป‰เบฒเบ‡เบ•เบปเบงเป€เบฅเบเบˆเบธเบ”เบฅเบญเบเปเบšเบšเบชเบธเปˆเบกเบ—เบตเปˆเบขเบนเปˆเบžเบฒเบเปƒเบ™เบ‚เบญเบšเป€เบ‚เบ”เบ—เบตเปˆเบฅเบฐเบšเบธ.
  • เป€เบžเบตเปˆเบกเบ„เบงเบฒเบกเบชเบฒเบกเบฒเบ”เปƒเบ™เบเบฒเบ™เบ”เบถเบ‡เบ„เปˆเบฒเบ„เบปเบ‡เบ—เบตเปˆเป‚เบ”เบเปƒเบŠเป‰ syntax class dynamic: class Foo { const BAR = 'bar'; } $name = 'BAR'; // เบเปˆเบญเบ™เบซเบ™เป‰เบฒเบ™เบตเป‰, เป€เบžเบทเปˆเบญเบ”เบถเบ‡เบ„เปˆเบฒเบ„เบปเบ‡เบ—เบตเปˆเบ‚เบญเบ‡ BAR, เบ—เปˆเบฒเบ™เบ•เป‰เบญเบ‡เป€เบญเบตเป‰เบ™เบ„เปˆเบฒเบ„เบปเบ‡เบ—เบตเปˆ (Foo::class . '::'. $name); // เบ•เบญเบ™เบ™เบตเป‰เบžเบฝเบ‡เปเบ•เปˆเบฅเบฐเบšเบธ Foo::{$name};
  • เป€เบžเบตเปˆเบกเบเบฒเบ™เบชเป‰เบฒเบ‡เบ‚เปเป‰เบเบปเบเป€เบงเบฑเป‰เบ™เบชเปˆเบงเบ™เบšเบธเบเบ„เบปเบ™ (DateMalformedIntervalStringException, DateInvalidOperationException, DateRangeError) เปƒเบ™เบเปเบฅเบฐเบ™เบตเบ‚เบญเบ‡เบšเบฑเบ™เบซเบฒเบ—เบตเปˆเป€เบเบตเบ”เบ‚เบทเป‰เบ™เปƒเบ™เบเบฒเบ™เบ”เปเบฒเป€เบ™เบตเบ™เบ‡เบฒเบ™เบ—เบตเปˆเป€เบฎเบฑเบ”เบงเบฝเบเบเบฑเบšเบงเบฑเบ™เบ—เบตเปเบฅเบฐเป€เบงเบฅเบฒ.
  • เบ›เบฑเบšเบ›เบธเบ‡เบเบฒเบ™เบˆเบฑเบ”เบเบฒเบ™เบ„เบงเบฒเบกเบœเบดเบ”เบžเบฒเบ”เบ—เบตเปˆเป€เบเบตเบ”เบ‚เบถเป‰เบ™เปƒเบ™เบฅเบฐเบซเบงเปˆเบฒเบ‡เบเบฒเบ™เปเบเบเบงเบดเป€เบ„เบฒเบฐเบ‚เปเป‰เบกเบนเบ™ serialized เปƒเบ™เบŸเบฑเบ‡เบŠเบฑเบ™ unserialize(). เปƒเบ™เบเปเบฅเบฐเบ™เบตเบ—เบตเปˆเบกเบตเบšเบฑเบ™เบซเบฒ, unserialize() เบ”เบฝเบงเบ™เบตเป‰เบญเบญเบ E_WARNING เปเบ—เบ™ E_NOTICE.
  • เบกเบตเบเบฒเบ™เบ›เปˆเบฝเบ™เปเบ›เบ‡เบเบฒเบ™เบ—เปเบฒเบ‡เบฒเบ™เบ‚เบญเบ‡ range(). เบ‚เปเป‰เบเบปเบเป€เบงเบฑเป‰เบ™เปเบกเปˆเบ™เบ–เบทเบเบชเป‰เบฒเบ‡เบ‚เบถเป‰เบ™เปƒเบ™เป€เบงเบฅเบฒเบ—เบตเปˆเบžเบฐเบเบฒเบเบฒเบกเบœเปˆเบฒเบ™เบงเบฑเบ”เบ–เบธ, เบŠเบฑเบšเบžเบฐเบเบฒเบเบญเบ™เบซเบผเบท arrays เบขเบนเปˆเปƒเบ™เบ•เบปเบงเปเบ›เบ—เบตเปˆเบเปเบฒเบ™เบปเบ”เบ‚เบญเบšเป€เบ‚เบ”เบ‚เบญเบšเป€เบ‚เบ”, เป€เบŠเบฑเปˆเบ™เบ”เบฝเบงเบเบฑเบ™เบเบฑเบšเป€เบงเบฅเบฒเบเปเบฒเบ™เบปเบ”เบ„เปˆเบฒเบฅเบปเบšเปƒเบ™เบžเบฒเบฅเบฒเบกเบดเป€เบ•เบต $step เบซเบผเบทเบ„เปˆเบฒเบ—เบตเปˆเบšเปเปˆเป„เบ”เป‰เบเปเบฒเบ™เบปเบ”เปƒเบ™เบžเบฒเบฅเบฒเบกเบดเป€เบ•เบตเปƒเบ”เป†. เบšเบฑเบ™เบŠเบตเบฅเบฒเบเบŠเบทเปˆเบ‚เบญเบ‡เบ•เบปเบงเบญเบฑเบเบชเบญเบ™เบชเบฒเบกเบฒเบ”เป€เบ›เบฑเบ™เบœเบปเบ™เบญเบญเบเบกเบฒเป„เบ”เป‰เปƒเบ™เป€เบงเบฅเบฒเบ—เบตเปˆเบฅเบฐเบšเบธเบชเบฐเบ•เบฃเบดเบ‡เปเบ—เบ™เบ—เบตเปˆเบˆเบฐเป€เบ›เบฑเบ™เบ•เบปเบงเป€เบฅเบ (เบ•เบปเบงเบขเปˆเบฒเบ‡, โ€œrange('5', 'z')").
  • เป„เบ”เป‰เบ›เปˆเบฝเบ™เบžเบถเบ”เบ•เบดเบเบณเบ‚เบญเบ‡เบ„เบธเบ™เบชเบปเบกเบšเบฑเบ”เบ—เบตเปˆเบกเบตเบ„เบธเบ™เบชเบปเบกเบšเบฑเบ”เบชเบฐเบ–เบดเบ”, เป€เบŠเบดเปˆเบ‡เบ”เบฝเบงเบ™เบตเป‰เป„เบ”เป‰เบฅเบปเบšเบฅเป‰เบฒเบ‡เบ„เบธเบ™เบชเบปเบกเบšเบฑเบ”เบชเบฐเบ–เบดเบ”เบ—เบตเปˆเบชเบทเบšเบ—เบญเบ”เบกเบฒเบˆเบฒเบเบŠเบฑเป‰เบ™เปเบกเปˆ.
  • เป€เบžเบตเปˆเบกเบเบฒเบ™เบ•เบฑเป‰เบ‡เบ„เปˆเบฒเบชเปเบฒเบฅเบฑเบšเบเบฒเบ™เบ›เป‰เบญเบ‡เบเบฑเบ™เบเบฒเบ™เบฅเบปเป‰เบ™ stack. เบ„เปเบฒเบชเบฑเปˆเบ‡ zend.max_allowed_stack_size เปเบฅเบฐ zend.reserved_stack_size เป„เบ”เป‰เบ–เบทเบเป€เบžเบตเปˆเบกเปƒเบชเปˆเป„เบŸเบฅเปŒ ini, เบเปเบฒเบ™เบปเบ”เบ‚เบฐเบซเบ™เบฒเบ” stack เบชเบนเบ‡เบชเบธเบ”เบ—เบตเปˆเบญเบฐเบ™เบธเบเบฒเบ”เปเบฅเบฐเบชเบฐเบซเบ‡เบงเบ™เป„เบงเป‰. เป‚เบ›เบฃเปเบเบฃเบกเบˆเบฐเบ‚เบฑเบ”เบ‚เป‰เบญเบ‡เป€เบกเบทเปˆเบญเป€เบ‚เบปเป‰เบฒเปƒเบเป‰เบเบฒเบ™เปเบปเบ” stack, เป€เบกเบทเปˆเบญ stack เป€เบ•เบฑเบกเบซเบผเบฒเบเบเบงเปˆเบฒเบ„เบงเบฒเบกเปเบ•เบเบ•เปˆเบฒเบ‡เบฅเบฐเบซเบงเปˆเบฒเบ‡ zend.max_allowed_stack_size เปเบฅเบฐ zend.reserved_stack_size (เบเบฒเบ™เบ›เบฐเบ•เบดเบšเบฑเบ”เบˆเบฐเบขเบธเบ”เบเปˆเบญเบ™เบ—เบตเปˆเบ„เบงเบฒเบกเบœเบดเบ”เบ‚เบญเบ‡เบเบฒเบ™เปเบšเปˆเบ‡เบชเปˆเบงเบ™เบˆเบฐเป€เบเบตเบ”เบ‚เบถเป‰เบ™). เป‚เบ”เบเบ„เปˆเบฒเป€เบฅเบตเปˆเบกเบ•เบปเป‰เบ™, เบ„เปˆเบฒ zend.max_allowed_stack_size เบ–เบทเบเบ•เบฑเป‰เบ‡เป€เบ›เบฑเบ™ 0 (0โ€”เบ‚เบฐเบซเบ™เบฒเบ”เปเบกเปˆเบ™เบ–เบทเบเบเปเบฒเบ™เบปเบ”เป‚เบ”เบเบญเบฑเบ”เบ•เบฐเป‚เบ™เบกเบฑเบ”; เป€เบžเบทเปˆเบญเบ›เบดเบ”เบเบฒเบ™เบˆเปเบฒเบเบฑเบ”, เบ—เปˆเบฒเบ™เบชเบฒเบกเบฒเบ”เบ•เบฑเป‰เบ‡เบกเบฑเบ™เป€เบ›เบฑเบ™ -1).
  • เป€เบžเบตเปˆเบกเบŸเบฑเบ‡เบŠเบฑเบ™ POSIX เปƒเปเปˆ posix_sysconf(), posix_pathconf(), posix_fpathconf() เปเบฅเบฐ posix_eaccess().
  • เบŸเบฑเบ‡เบŠเบฑเบ™ mb_str_pad เป„เบ”เป‰เบ–เบทเบเป€เบžเบตเปˆเบก, เป€เบŠเบดเปˆเบ‡เป€เบ›เบฑเบ™เบเบฒเบ™เบ›เบฝเบšเบ—เบฝเบšเบ‚เบญเบ‡เบŸเบฑเบ‡เบŠเบฑเบ™เบชเบฐเบ•เบฃเบดเบ‡ str_pad(), เบญเบญเบเปเบšเบšเบกเบฒเป€เบžเบทเปˆเบญเป€เบฎเบฑเบ”เบงเบฝเบเบเบฑเบšเบเบฒเบ™เป€เบ‚เบปเป‰เบฒเบฅเบฐเบซเบฑเบ”เบซเบผเบฒเบเป„เบšเป€เบŠเบฑเปˆเบ™ UTF-8.
  • เบญเบฐเบ™เบธเบเบฒเบ”เปƒเบซเป‰เบ—เปˆเบฒเบ™เบชเป‰เบฒเบ‡เบเบฒเบ™เบ›เบดเบ”เบˆเบฒเบเบงเบดเบ—เบตเบเบฒเบ™เปเบฅเบฐเบœเปˆเบฒเบ™ arguments เบ—เบตเปˆเบกเบตเบŠเบทเปˆเป„เบ›เบซเบฒเบเบฒเบ™เบ›เบดเบ”เป€เบซเบผเบปเปˆเบฒเบ™เบฑเป‰เบ™. $test = เบเบฒเบ™เบ—เบปเบ”เบชเบญเบšเปƒเปเปˆ(); $close = $test->magic(โ€ฆ); $close(a: 'เบชเบฐเบšเบฒเบเบ”เบต', b: 'เป‚เบฅเบ');
  • เบเบฒเบ™เบ›เปˆเบฝเบ™เปเบ›เบ‡เบžเบถเบ”เบ•เบดเบเปเบฒเปƒเบ™เป€เบงเบฅเบฒเบ—เบตเปˆเบเบฒเบ™เบˆเบฑเบ”เบเบฒเบ™เบเบฒเบ™เป€เบšเบดเปˆเบ‡เป€เบซเบฑเบ™เบ‚เบญเบ‡เบ„เบปเบ‡เบ—เบตเปˆเบขเบนเปˆเปƒเบ™เบเบฒเบ™เป‚เบ•เป‰เบ•เบญเบš. interface I { public const FOO = 'foo'; } class C เบ›เบฐเบ•เบดเบšเบฑเบ” I { private const FOO = 'foo'; }
  • เบ„เบงเบฒเบกเบชเบฒเบกเบฒเบ”เบ‚เบญเบ‡ array_sum(), array_product(), posix_getrlimit(), gc_status(), class_alias(), mysqli_poll(), array_pad() เปเบฅเบฐ proc_get_status() เป„เบ”เป‰เบ–เบทเบเบ‚เบฐเบซเบเบฒเบเบญเบญเบ.
  • เบ„เบงเบฒเบกเบชเบฒเบกเบฒเบ”เปƒเบ™เบเบฒเบ™เบชเบปเปˆเบ‡เบ„เปˆเบฒเบฅเบปเบš $widths เป„เบ›เบซเบฒ mb_strimwidth() เป„เบ”เป‰เบ–เบทเบเบเบปเบเป€เบฅเบตเบเปเบฅเป‰เบง. NumberFormatter::TYPE_CURRENCY เบ„เบปเบ‡เบ—เบตเปˆเบ–เบทเบเบฅเบถเบšเบญเบญเบเปเบฅเป‰เบง. เบเบฒเบ™เบฎเบญเบ‡เบฎเบฑเบšเบเบฒเบ™เป€เบญเบตเป‰เบ™เบŸเบฑเบ‡เบŠเบฑเบ™ ldap_connect() เบ—เบตเปˆเบกเบตเบชเบญเบ‡เบžเบฒเบฅเบฒเบกเบดเป€เบ•เบต $host เปเบฅเบฐ $port เป„เบ”เป‰เบ–เบทเบเบขเบธเบ”เป€เบŠเบปเบฒ. เบเบฒเบ™เบ•เบฑเป‰เบ‡เบ„เปˆเบฒ opcache.consistency_checks เบ–เบทเบเบฅเบถเบšเบญเบญเบเปเบฅเป‰เบง.

เปเบซเบผเปˆเบ‡เบ‚เปเป‰เบกเบนเบ™: opennet.ru

เป€เบžเบตเปˆเบกเบ„เบงเบฒเบกเบ„เบดเบ”เป€เบซเบฑเบ™