Partkeepr: рдХреИрд╢ рдХреЛ рдЧрд░реНрдо рдХрд░рдиреЗ рдкрд░ рд╕реЗрдЯрдЕрдк рд╡рд┐рдлрд▓ рд╣реЛ рдЬрд╛рддрд╛ рд╣реИ (рдореЛрдиреЛрд▓реЙрдЧ рддреНрд░реБрдЯрд┐)

рдХреЛ рдирд┐рд░реНрдорд┐рдд 23 рд╕рд┐рддре░ 2017  ┬╖  20рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдБ  ┬╖  рд╕реНрд░реЛрдд: partkeepr/PartKeepr

рд╡реНрдпрд╡рд╕реНрдерд╛ рдЬрд╛рдирдХрд╛рд░реА

  • рдкрд╛рд░реНрдЯрдХреАрдкрд░ рд╕рдВрд╕реНрдХрд░рдг: 1.3.0
  • рдкреАрдПрдЪрдкреА рд╕рдВрд╕реНрдХрд░рдг 7.2

рдЬрдм рдореИрдВ рдЕрдВрддрд┐рдо рдЪрд░рдг рддрдХ рдкрд╣реБрдБрдЪрддрд╛ рд╣реВрдБ рддреЛ рдореБрдЭреЗ рдЫрд╡рд┐ рд╕реЗ рддреНрд░реБрдЯрд┐ рд╣реЛрддреА рд╣реИ:

2017-09-22 15_28_28-partkeepr setup

рд╕рдмрд╕реЗ рдЙрдкрдпреЛрдЧреА рдЯрд┐рдкреНрдкрдгреА

рдЖрдк рдЗрд╕реЗ рддреНрд╡рд░рд┐рдд рдФрд░ рдЧрдВрджрд╛ рдареАрдХ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ:
рдлрд╝рд╛рдЗрд▓ рдкрд░ рдЬрд╛рдПрдБ -> /рд╡рд┐рдХреНрд░реЗрддрд╛/рд╕рд┐рдореНрдлрдиреА/рдореЛрдиреЛрд▓реЙрдЧ-рдмрдВрдбрд▓/рдирд┐рд░реНрднрд░рддрд╛ рдЗрдВрдЬреЗрдХреНрд╢рди/рдХреЙрдиреНрдлрд╝рд┐рдЧрд░реЗрд╢рди.php

рдкрдВрдХреНрддрд┐ релрепрек рдХреЗ рдЖрд╕рдкрд╛рд╕ рдЯрд┐рдкреНрдкрдгреА рдХрд░реЗрдВ рдпрд╛ рдиреАрдЪреЗ рдХреА рд░реЗрдЦрд╛ рдХреЛ рд╣рдЯрд╛ рджреЗрдВ:

// ->ifTrue(function ($v) { return ('fingers_crossed' === $v['type'] || 'buffer' === $v['type'] || 'filter' === $v['type']) && 1 !== count($v['handler']); })

рдирд┐рдореНрди рдкрдВрдХреНрддрд┐ рдЬреЛрдбрд╝реЗрдВ:
->ifTrue(function ($v) { return ('fingers_crossed' === $v['type'] || 'buffer' === $v['type'] || 'filter' === $v['type']) && (empty($v['handler']) || !is_string($v['handler'])); })

рдЗрдВрд╕реНрдЯреЙрд▓рд░ рдЗрдВрд╕реНрдЯреЙрд▓ рдХреЛ рд╕рдорд╛рдкреНрдд рдХрд░ рджреЗрдЧрд╛ рдФрд░ рдЖрдкрдХреЗ рдкрд╛рд╕ рдПрдкреНрд▓рд┐рдХреЗрд╢рди рддрдХ рдкрд╣реБрдВрдЪ рд╣реЛрдЧреАред

рд╕рднреА 20 рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдБ

рдмрдЧ:

Invalid configuration for path "monolog.handlers.main": Warning: count(): Parameter must be an array or an object that implements Countable

PHP 7.2 рдХреЗ рдХрд╛рд░рдг рд╣реЛрддрд╛ рд╣реИ, рдЕрд╕реНрдерд╛рдпреА рд╕рдорд╛рдзрд╛рди PHP 7.1 рдореЗрдВ рдбрд╛рдЙрдирдЧреНрд░реЗрдб рд╣реЛ рд░рд╣рд╛ рд╣реИред

рдмрдЧ рдЕрдкрд╕реНрдЯреНрд░реАрдо рд╕рд┐рдореНрдлрдиреА рдореЗрдВ рд╣реИ, рджреЗрдЦреЗрдВ: https://github.com/symfony/monolog-bundle/issues/223

рдЗрд╕рдХреЗ рд▓рд┐рдП рдХреЛрдИ рдлрд┐рдХреНрд╕? рдореИрдВ рд▓рд┐рдирдХреНрд╕ рдЯрдХрд╕рд╛рд▓ рдХреЗ рд╕рд╛рде рдХрд╛рдо рдХрд░ рд░рд╣рд╛ рд╣реВрдВ, рдФрд░ рдореИрдВ php7.1 рд╕реНрдерд╛рдкрд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдПрдХ рд╡рд┐рд╢реЗрд╖рдЬреНрдЮ рд▓рд┐рдирдХреНрд╕ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдирд╣реАрдВ рд╣реВрдВ ... рд▓рд┐рдирдХреНрд╕ рдЯрдХрд╕рд╛рд▓ рдХреЗрд╡рд▓ 7.2 рдорд╛рдирдХ рдкреНрд░рджрд╛рди рдХрд░рддрд╛ рд╣реИ ...

рдЖрдк рдЗрд╕реЗ рддреНрд╡рд░рд┐рдд рдФрд░ рдЧрдВрджрд╛ рдареАрдХ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ:
рдлрд╝рд╛рдЗрд▓ рдкрд░ рдЬрд╛рдПрдБ -> /рд╡рд┐рдХреНрд░реЗрддрд╛/рд╕рд┐рдореНрдлрдиреА/рдореЛрдиреЛрд▓реЙрдЧ-рдмрдВрдбрд▓/рдирд┐рд░реНрднрд░рддрд╛ рдЗрдВрдЬреЗрдХреНрд╢рди/рдХреЙрдиреНрдлрд╝рд┐рдЧрд░реЗрд╢рди.php

рдкрдВрдХреНрддрд┐ релрепрек рдХреЗ рдЖрд╕рдкрд╛рд╕ рдЯрд┐рдкреНрдкрдгреА рдХрд░реЗрдВ рдпрд╛ рдиреАрдЪреЗ рдХреА рд░реЗрдЦрд╛ рдХреЛ рд╣рдЯрд╛ рджреЗрдВ:

// ->ifTrue(function ($v) { return ('fingers_crossed' === $v['type'] || 'buffer' === $v['type'] || 'filter' === $v['type']) && 1 !== count($v['handler']); })

рдирд┐рдореНрди рдкрдВрдХреНрддрд┐ рдЬреЛрдбрд╝реЗрдВ:
->ifTrue(function ($v) { return ('fingers_crossed' === $v['type'] || 'buffer' === $v['type'] || 'filter' === $v['type']) && (empty($v['handler']) || !is_string($v['handler'])); })

рдЗрдВрд╕реНрдЯреЙрд▓рд░ рдЗрдВрд╕реНрдЯреЙрд▓ рдХреЛ рд╕рдорд╛рдкреНрдд рдХрд░ рджреЗрдЧрд╛ рдФрд░ рдЖрдкрдХреЗ рдкрд╛рд╕ рдПрдкреНрд▓рд┐рдХреЗрд╢рди рддрдХ рдкрд╣реБрдВрдЪ рд╣реЛрдЧреАред

рдХреНрдпрд╛ рдпрд╣ рдЕрднреА рднреА рдЕрдиреБрд╢рдВрд╕рд┐рдд рдлрд┐рдХреНрд╕ рд╣реИ?

рд╣рд╛рдБ, рдРрд╕рд╛ рд▓рдЧрддрд╛ рд╣реИред
рд╕рд┐рдореНрдлрдиреА/рдореЛрдиреЛрд▓реЙрдЧ-рдмрдВрдбрд▓ рдореЗрдВ рдлрд┐рдХреНрд╕ рд╕рдВрд╕реНрдХрд░рдг 3.1.2 рдореЗрдВ рдЬрд╛рд░реА рдХрд┐рдпрд╛ рдЧрдпрд╛ рдерд╛, рдФрд░ рдкрд╛рд░реНрдЯрдХреАрдкрд░ 2.4 рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░ рд░рд╣рд╛ рд╣реИред
рдореЛрдиреЛрд▓реЙрдЧ-рдмрдВрдбрд▓ рдХреЗ рдирдП рд╕рдВрд╕реНрдХрд░рдг рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдореЗрдВ рд╕рдХреНрд╖рдо рд╣реЛрдиреЗ рдХреЗ рд▓рд┐рдП, рд╕рд┐рдореНрдлрдиреА рдХреЛ рдЕрджреНрдпрддрди рдХрд░рдирд╛ рд╣реЛрдЧрд╛ рдФрд░ рдпрд╣ рдЖрд╕рд╛рдиреА рд╕реЗ рдХрд░рдиреЗ рдпреЛрдЧреНрдп рдирд╣реАрдВ рд╣реИ (рдмрд┐рдирд╛ рдмрдбрд╝реЗ рд╕рдордп рдХреЗ рдирд┐рд╡реЗрд╢ рдХреЗ)ред
@erikvanberkum рд╕реЗ рд╕рдорд╛рдзрд╛рди рдЕрднреА рднреА рдЗрд╕реЗ рдХрд░рдиреЗ рдХрд╛ рд╕рдмрд╕реЗ рдЕрдЪреНрдЫрд╛ рддрд░реАрдХрд╛ рд╣реИред

рдЧреЛрдЪрд╛ред рд╣реЛ рд╕рдХрддрд╛ рд╣реИ рдХрд┐ рд╕реЗрдЯрдЕрдк рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдХреЗ рд╣рд┐рд╕реНрд╕реЗ рдХреЗ рд░реВрдк рдореЗрдВ рд╕реНрд╡рдЪрд╛рд▓рд┐рдд рд╕реБрдзрд╛рд░ рд╣реЛ?
рдпрд╛рдиреА, рдПрдХ рдСрдЯреЛрдореЗрдЯреЗрдб рдлрд┐рдХреНрд╕ рдЬреЛ рдЙрд╕ рд▓рд╛рдЗрди рдХреЛ рд░рд┐рдкреНрд▓реЗрд╕ рдХрд░ рджреЗрддрд╛ рд╣реИред

рд░рд╛рд╕реНрдкрдмреЗрд░реА рдкрд╛рдИ 3+ . рдкрд░ рдкрд╛рд░реНрдЯрдХреАрдкрд░ рдХреЛ рд╕реНрдерд╛рдкрд┐рдд рдХрд░рдиреЗ рдХрд╛ рдкреНрд░рдпрд╛рд╕ рдХрд░рддреЗ рд╕рдордп рдореБрдЭреЗ рдпрд╣ рд╕рдорд╕реНрдпрд╛ рдереА

рдореИрдВрдиреЗ рд╣рд╛рд░ рдорд╛рди рд▓реА рдФрд░ рдПрдХ рдХреНрд▓реАрди рд░рд┐рдлреНрд▓реИрд╢ рдХрд┐рдпрд╛ рдФрд░ рдУрдПрд╕ рдФрд░ рдкрд╛рд░реНрдЯрдХреАрдкрд░ рдХреЛ рд╕реНрдХреНрд░реИрдЪ рд╕реЗ рдлрд┐рд░ рд╕реЗ рдЗрдВрд╕реНрдЯреЙрд▓ рдХрд┐рдпрд╛
рдпрд╣ рдкреГрд╖реНрда- https://wiki.partkeepr.org/wiki/PartKeepr_on_Debian_%22Stretch%22

рдореИрдВрдиреЗ рдЯрд╛рдЗрдордЖрдЙрдЯ рдХреЛ 120 рдХреЗ рдмрдЬрд╛рдп 130 рдкрд░ рд╕реЗрдЯ рдХрд┐рдпрд╛, рдФрд░ рдлрд┐рд░ рдбреЗрдЯрд╛рдмреЗрд╕ рдкреИрд░рд╛рдореАрдЯрд░ рдкреЗрдЬ рдХреЗ рдмрд╛рдж, рдореИрдВрдиреЗ рдЗрд╕ рдкреЗрдЬ рдХрд╛ рдЕрдиреБрд╕рд░рдг рдХрд┐рдпрд╛
https://wiki.partkeepr.org/wiki/APC_Metadata_Caching

рдпрдорд▓ рдХреЛ рд╕рдВрдкрд╛рджрд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдФрд░ рд╕рд╛рде рдореЗрдВ рдЬрд╛рд░реА рд░рдЦрд╛ рдФрд░ рдпрд╣ рдареАрдХ рд╕реНрдерд╛рдкрд┐рдд рд╣реЛ рдЧрдпрд╛ред

рдЗрди рд╕рднреА рдлреЛрд░реНрдХреНрд╕ рдореЗрдВ рд╕реЗ рдХреМрди-рд╕рд╛ рд╡рд░реНрдХрд┐рдВрдЧ/рдирд╡реАрдирддрдо рдХреЛрдб рд╡рд╛рд▓рд╛ рд╣реИ?
рдореИрдВрдиреЗ рдЕрдм рдЙрдирдореЗрдВ рд╕реЗ 13 рдХреА рдХреЛрд╢рд┐рд╢ рдХреА рд╣реИ рдФрд░ рдЕрднреА рднреА рдЗрд╕реЗ рд╕реНрдерд╛рдкрд┐рдд рдирд╣реАрдВ рдХрд░ рд╕рдХрддрд╛ :(
рд╕реЗрдВрдЯреЛрд╕ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдирд╛ред

рдореЗрд░реА рдЬрд╛рдирдХрд╛рд░реА:

рдмрд┐рд▓реНрд▓реА/рдЖрджрд┐/рд╕реЗрдВрдЯреЛрд╕-рд░рд┐рд▓реАрдЬрд╝

CentOS Linux рд░рд┐рд▓реАрдЬрд╝ 7.6.1810 (рдХреЛрд░)

рдЕрдирд╛рдо -рдП

Linux xxx.org 3.10.0-957.12.2.el7.x86_64 #1 SMP рдордВрдЧрд▓ рдордИ 14 21:24:32 UTC 2019 x86_64 x86_64 x86_64 GNU/Linux

php -v

рдкреАрдПрдЪрдкреА 7.2.19 (рдХреНрд▓реА) (рдирд┐рд░реНрдорд┐рдд: 29 рдордИ 2019 11:04:13) (рдПрдирдЯреАрдПрд╕)
рдХреЙрдкреАрд░рд╛рдЗрдЯ (рд╕реА) 1997-2018 рдкреАрдПрдЪрдкреА рд╕рдореВрд╣
Zend Engine v3.2.0, рдХреЙрдкреАрд░рд╛рдЗрдЯ (c) 1998-2018 Zend Technologies

mysql --рд╕рдВрд╕реНрдХрд░рдг

mysql Ver 15.1 рд▓рд┐рдирдХреНрд╕ (x86_64) рдХреЗ рд▓рд┐рдП рд░реАрдбрд▓рд╛рдЗрди 5.1 рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ 5.5.60-MariaDB рд╡рд┐рддрд░рд┐рдд рдХрд░реЗрдВ

httpd -v

рд╕рд░реНрд╡рд░ рд╕рдВрд╕реНрдХрд░рдг: рдЕрдкрд╛рдЪреЗ/2.4.6 (рд╕реЗрдВрдЯреЛрд╕)
рд╕рд░реНрд╡рд░ рдмрдирд╛рдпрд╛ рдЧрдпрд╛: рдЕрдкреНрд░реИрд▓ 24 2019 13:45:48

рдореБрдЭреЗ рдорд┐рд▓рдиреЗ рд╡рд╛рд▓реА рддреНрд░реБрдЯрд┐рдпрд╛рдВ:

[рд╢рдирд┐ рдЬреВрди 01 00: 22: 58.384109 2019] [php7: рдЪреЗрддрд╛рд╡рдиреА] [рдкрд┐рдб 13807] [рдХреНрд▓рд╛рдЗрдВрдЯ 155.4.14.39: 56332] PHP рдЪреЗрддрд╛рд╡рдиреА: requ_once (/webdata1/partkeepr/web/../app/bootstrap.php.cache) ): рд╕реНрдЯреНрд░реАрдо рдЦреЛрд▓рдиреЗ рдореЗрдВ рд╡рд┐рдлрд▓: рд▓рд╛рдЗрди 6 рдкрд░ /webdata1/partkeepr/web/app.php рдореЗрдВ рдРрд╕реА рдХреЛрдИ рдлрд╝рд╛рдЗрд▓ рдпрд╛ рдирд┐рд░реНрджреЗрд╢рд┐рдХрд╛ рдирд╣реАрдВ рд╣реИ, рд╕рдВрджрд░реНрднрдХрд░реНрддрд╛: http://partkeepr.ddns.net/setup/index.html
[рд╢рдирд┐ рдЬреВрди 01 00: 22: 58.384190 2019] [php7: рддреНрд░реБрдЯрд┐] [рдкрд┐рдб 13807] [рдХреНрд▓рд╛рдЗрдВрдЯ 155.4.14.39: 56332] PHP рдШрд╛рддрдХ рддреНрд░реБрдЯрд┐: requ_once (): рдЖрд╡рд╢реНрдпрдХ рдЦреЛрд▓рдиреЗ рдореЗрдВ рд╡рд┐рдлрд▓ '/webdata1/partkeepr/web/../ app/bootstrap.php.cache' (include_path='.:/usr/share/pear:/usr/share/php') рд▓рд╛рдЗрди 6 рдкрд░ /webdata1/partkeepr/web/app.php рдореЗрдВ, рд░реЗрдлрд░рд░: http:// partkeepr.ddns.net/setup/index.html
[рд╢рдирд┐ рдЬреВрди 01 00: 22: 58.394956 2019] [php7: рдЪреЗрддрд╛рд╡рдиреА] [рдкреАрдЖрдИрдбреА тАЛтАЛ13797] [рдХреНрд▓рд╛рдЗрдВрдЯ 155.4.14.39: 56331] PHP рдЪреЗрддрд╛рд╡рдиреА: requ_once (/webdata1/partkeepr/web/../app/bootstrap.php.cache) ): рд╕реНрдЯреНрд░реАрдо рдЦреЛрд▓рдиреЗ рдореЗрдВ рд╡рд┐рдлрд▓: рд▓рд╛рдЗрди 6 рдкрд░ /webdata1/partkeepr/web/app.php рдореЗрдВ рдРрд╕реА рдХреЛрдИ рдлрд╝рд╛рдЗрд▓ рдпрд╛ рдирд┐рд░реНрджреЗрд╢рд┐рдХрд╛ рдирд╣реАрдВ рд╣реИ, рд╕рдВрджрд░реНрднрдХрд░реНрддрд╛: http://partkeepr.ddns.net/setup/index.html
[рд╢рдирд┐ рдЬреВрди 01 00: 22: 58.395025 2019] [php7: рддреНрд░реБрдЯрд┐] [рдкреАрдЖрдИрдбреА тАЛтАЛ13797] [рдХреНрд▓рд╛рдЗрдВрдЯ 155.4.14.39: 56331] рдкреАрдПрдЪрдкреА рдШрд╛рддрдХ рддреНрд░реБрдЯрд┐: requ_once (): рдЖрд╡рд╢реНрдпрдХ рдЦреЛрд▓рдиреЗ рдореЗрдВ рд╡рд┐рдлрд▓ '/webdata1/partkeepr/web/../ app/bootstrap.php.cache' (include_path='.:/usr/share/pear:/usr/share/php') рд▓рд╛рдЗрди 6 рдкрд░ /webdata1/partkeepr/web/app.php рдореЗрдВ, рд░реЗрдлрд░рд░: http:// partkeepr.ddns.net/setup/index.html
[рд╢рдирд┐ рдЬреВрди 01 00: 22: 58.565949 2019] [php7: рдЪреЗрддрд╛рд╡рдиреА] [рдкреАрдЖрдИрдбреА тАЛтАЛ13799] [рдХреНрд▓рд╛рдЗрдВрдЯ 155.4.14.39: 56334] PHP рдЪреЗрддрд╛рд╡рдиреА: requ_once (/webdata1/partkeepr/web/../app/bootstrap.php.cache) ): рд╕реНрдЯреНрд░реАрдо рдЦреЛрд▓рдиреЗ рдореЗрдВ рд╡рд┐рдлрд▓: рд▓рд╛рдЗрди 6 рдкрд░ /webdata1/partkeepr/web/app.php рдореЗрдВ рдРрд╕реА рдХреЛрдИ рдлрд╝рд╛рдЗрд▓ рдпрд╛ рдирд┐рд░реНрджреЗрд╢рд┐рдХрд╛ рдирд╣реАрдВ рд╣реИ, рд╕рдВрджрд░реНрднрдХрд░реНрддрд╛: http://partkeepr.ddns.net/setup/index.html
[рд╢рдирд┐ рдЬреВрди 01 00: 22: 58.566015 2019] [php7: рддреНрд░реБрдЯрд┐] [рдкреАрдЖрдИрдбреА тАЛтАЛ13799] [рдХреНрд▓рд╛рдЗрдВрдЯ 155.4.14.39: 56334] PHP рдШрд╛рддрдХ рддреНрд░реБрдЯрд┐: requ_once (): рд╡рд┐рдлрд▓ рдЦреЛрд▓рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ '/webdata1/partkeepr/web/../ app/bootstrap.php.cache' (include_path='.:/usr/share/pear:/usr/share/php') рд▓рд╛рдЗрди 6 рдкрд░ /webdata1/partkeepr/web/app.php рдореЗрдВ, рд░реЗрдлрд░рд░: http:// partkeepr.ddns.net/setup/index.html4

рдореИрдВрдиреЗ рд╣рд╛рд▓ рд╣реА рдореЗрдВ рдкрд╛рд░реНрдЯрдХреАрдкрд░ рд╕реНрдерд╛рдкрд┐рдд рдХрд┐рдпрд╛ рд╣реИ рдФрд░ рдореБрдЭреЗ рдпрд╣ рд╕рдВрджреЗрд╢ рдирд╣реАрдВ рдорд┐рд▓рд╛ рд╣реИред рдЗрд╕ рдкреНрд░рдХрд╛рд░, рдореИрдВ рдЗрд╕реЗ рдмрдВрдж рдХрд░ рд░рд╣рд╛ рд╣реВрдВред рдЕрдЧрд░ рдХреЛрдИ рдЗрд╕рдореЗрдВ рднрд╛рдЧрддрд╛ рд╣реИ, рддреЛ рд╣рдо рдлрд┐рд░ рд╕реЗ рдЦреЛрд▓реЗрдВрдЧреЗред

@christianlupus рдореБрдЭреЗ рддреНрд░реБрдЯрд┐ рдорд┐рд▓реА рдФрд░ рдлрд┐рдХреНрд╕ # 1065 рд╣реИ ...

рдпрд╣ рдореБрджреНрджрд╛ рдорд┐рд▓рд╛ред рдореЛрдиреЛрд▓реЙрдЧ-рдмрдВрдбрд▓> 3.1.0 . рдХреЗ рдЕрдкрдбреЗрдЯ рдХреЗ рд╕рд╛рде рдлрд┐рдХреНрд╕реНрдб
рд╕рдВрдЧреАрддрдХрд╛рд░ рдХреЛ рд╕рд┐рдореНрдлрдиреА/рдореЛрдиреЛрд▓реЙрдЧ- рдмрдВрдбрд▓ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛

@christianlupus рдореБрдЭреЗ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдпрд╣ рджрд╕реНрддрд╛рд╡реЗрдЬрд╝реЛрдВ рдореЗрдВ рдЬреЛрдбрд╝рд╛ рдЬрд╛рдиреЗ рд╡рд╛рд▓рд╛ рдПрдХ рдЕрдЪреНрдЫрд╛ рд╣реИ :)

рдореИрдВ рдЗрд╕реЗ рджрд╕реНрддрд╛рд╡реЗрдЬрд╝реЛрдВ рдореЗрдВ рдбрд╛рд▓ рд╕рдХрддрд╛ рд╣реВрдВ (рдХрдо рд╕реЗ рдХрдо рд╕реНрдЯреЗрдЬрд┐рдВрдЧ рд╡рд╛рд▓реЗ) рд▓реЗрдХрд┐рди рдореБрдЭреЗ рд╕рдВрджреЗрд╣ рд╣реИ рдХрд┐ рдпрд╣ рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рдПрдХ рдЕрдЪреНрдЫрд╛ рд╡рд┐рдЪрд╛рд░ рд╣реИред рдЖрдк рдмрдВрдбрд▓ рдХрд╛ рд╣рд┐рд╕реНрд╕рд╛ 2.7 рд╕реЗ 3.1 рдореЗрдВ рдмрджрд▓ рд░рд╣реЗ рд╣реИрдВред рдпрд╣ рдПрдХ рдкреНрд░рдореБрдЦ рд╕рдВрд╕реНрдХрд░рдг рдкрд░рд┐рд╡рд░реНрддрди рд╣реИ рдФрд░ рдореИрдВ рдЗрд╕рдХреЗ рдХрд┐рд╕реА рднреА рджреБрд╖реНрдкреНрд░рднрд╛рд╡ рд╕реЗ рдЕрдирдЬрд╛рди рд╣реВрдВ рдпрд╛ рдирд╣реАрдВ рд╣реЛ рд╕рдХрддрд╛ рд╣реИред
рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рдЖрдк рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛рдУрдВ рдХреЛ рд╕рд┐рдореНрдлрдиреА 3 рдХреЗ рдЕрдкрдбреЗрдЯ рдХреЛ рдЖрдВрд╢рд┐рдХ рд░реВрдк рд╕реЗ рд╕реНрд╡рдпрдВ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдХрд╣рддреЗ рд╣реИрдВред рдорд┐рд╢реНрд░рд┐рдд рд╕рдВрд╕реНрдХрд░рдгреЛрдВ рдХреЗ рдРрд╕реЗ рдЬрд╝реЛрдВрдмреА рдХрд╛рд░реНрдпрдХреНрд░рдореЛрдВ рдХреЗ рд╕рд╛рде рдореЗрд░рд╛ рдмрд╣реБрдд рдмреБрд░рд╛ рдЕрдиреБрднрд╡ рдерд╛ .... рдпрд╣ рдЕрдм рд╡рд┐рдлрд▓ рдирд╣реАрдВ рд╣реЛ рд╕рдХрддрд╛ рд╣реИ рд▓реЗрдХрд┐рди рдпрд╣ рдХрд┐рд╕реА рднреА рд╕рдордп рд╡рд┐рдлрд▓ рд╣реЛ рд╕рдХрддрд╛ рд╣реИред рдореИрдВ рдЖрдзрд┐рдХрд╛рд░рд┐рдХ рд╕рд▓рд╛рд╣ рдирд╣реАрдВ рджреЗрдирд╛ рдЪрд╛рд╣реВрдВрдЧрд╛ рдХрд┐ рдПрдХ рдРрд╕реА рдкреНрд░рдгрд╛рд▓реА рдореЗрдВ рдЗрддрдирд╛ рдЕрдзрд┐рдХ рд╣реЛ рдЬрд╛рдП рдХрд┐ рд╣рдо рджреЛрдиреЛрдВ рдХреЛ рдЬреНрдпрд╛рджрд╛ рдЬрд╛рдирдХрд╛рд░реА рди рд╣реЛред рдореЗрд░реА рдкрд╣рд▓реА рдЬрд╛рдВрдЪ рдореЗрдВ рдХреЛрдИ рдЯреВрдЯреА рдирд┐рд░реНрднрд░рддрд╛ рдирд╣реАрдВ рдорд┐рд▓реА рд▓реЗрдХрд┐рди рдпрд╣ рдХреЗрд╡рд▓ рдПрдХ рддреНрд╡рд░рд┐рдд рдореИрдиреБрдЕрд▓ рдлреИрд╢рди рдореЗрдВ рдХрд┐рдпрд╛ рдЧрдпрд╛ рдерд╛ред

@baradhili рдХреНрдпрд╛ рдЖрдкрдХреЗ рдкрд╛рд╕ рдЕрдзрд┐рдХ рдЬрд╛рдирдХрд╛рд░реА рдпрд╛ рдЬреНрдЮрд╛рди рд╣реИ рдХрд┐ рдпрд╣ рдПрдХ рд╕реБрд░рдХреНрд╖рд┐рдд рд╕рд▓рд╛рд╣ рд╣реИ?

@christianlupus рдЖрд╣ рдореЙрдбреНрдпреВрд▓ рдЕрдкрдЧреНрд░реЗрдб рдирд╣реАрдВ рдХрд░ рд░рд╣рд╛ рд╣реИ .. рд▓реЗрдХрд┐рди @erikvanberkum рдХреА рдЯрд┐рдкреНрдкрдгреА

<<
рдЖрдк рдЗрд╕реЗ рддреНрд╡рд░рд┐рдд рдФрд░ рдЧрдВрджрд╛ рдареАрдХ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ:
рдлрд╝рд╛рдЗрд▓ рдкрд░ рдЬрд╛рдПрдБ -> /vendor/symfony/monolog-bundle/DependencyInjection/Configuration.php

рдкрдВрдХреНрддрд┐ релрепрек рдХреЗ рдЖрд╕рдкрд╛рд╕ рдЯрд┐рдкреНрдкрдгреА рдХрд░реЗрдВ рдпрд╛ рдиреАрдЪреЗ рдХреА рд░реЗрдЦрд╛ рдХреЛ рд╣рдЯрд╛ рджреЗрдВ:

// ->ifTrue(function ($v) { return ('fingers_crossed' === $v['type'] || 'buffer' === $v['type'] || 'filter' === $v['type']) && 1 !== count($v['handler']); })

рдирд┐рдореНрди рдкрдВрдХреНрддрд┐ рдЬреЛрдбрд╝реЗрдВ:
->ifTrue(function ($v) { return ('fingers_crossed' === $v['type'] || 'buffer' === $v['type'] || 'filter' === $v['type']) && (empty($v['handler']) || !is_string($v['handler'])); })

рдЗрдВрд╕реНрдЯреЙрд▓рд░ рдЗрдВрд╕реНрдЯреЙрд▓ рдХреЛ рд╕рдорд╛рдкреНрдд рдХрд░ рджреЗрдЧрд╛ рдФрд░ рдЖрдкрдХреЗ рдкрд╛рд╕ рдПрдкреНрд▓рд┐рдХреЗрд╢рди рддрдХ рдкрд╣реБрдВрдЪ рд╣реЛрдЧреАред

>

рдЖрд╣, рдареАрдХ рд╣реИ, рдореИрдВ рджреЗрдЦрддрд╛ рд╣реВрдБред рдореИрдВ рдЗрд╕реЗ рддрдм рддрдХ рдЦреБрд▓рд╛ рд░рдЦреВрдВрдЧрд╛ рдЬрдм рддрдХ рдореИрдВрдиреЗ рдЗрд╕реЗ рджрд╕реНрддрд╛рд╡реЗрдЬрд╝реЛрдВ рдХреЛ рдирд╣реАрдВ рд▓рд┐рдЦрд╛ред

рдореБрдЭреЗ рдЗрд╕рдХреЗ рд╕рд╛рде рдПрдХ рд╣реА рд╕рдорд╕реНрдпрд╛ рд╣реИ .. рдФрд░ PHP рдХреЗ рдкреБрд░рд╛рдиреЗ рд╕рдВрд╕реНрдХрд░рдг рдХреЛ рд╕реНрдерд╛рдкрд┐рдд рдХрд░рдиреЗ рдХрд╛ рддрд░реАрдХрд╛ рдирд╣реАрдВ рдвреВрдВрдв рд╕рдХрддрд╛ ... ?? рдХреНрдпрд╛ рдореБрдЭреЗ рдХреБрдЫ рдорджрдж рдорд┐рд▓ рд╕рдХрддреА рд╣реИ..
рд╕рдорд╕реНрдпрд╛:

рдкрде "monolog.handlers.main" рдХреЗ рд▓рд┐рдП рдЕрдорд╛рдиреНрдп рдХреЙрдиреНрдлрд╝рд┐рдЧрд░реЗрд╢рди: рдЪреЗрддрд╛рд╡рдиреА: рдЧрд┐рдирддреА (): рдкреИрд░рд╛рдореАрдЯрд░ рдПрдХ рд╕рд░рдгреА рдпрд╛ рдСрдмреНрдЬреЗрдХреНрдЯ рд╣реЛрдирд╛ рдЪрд╛рд╣рд┐рдП рдЬреЛ рдЧрдгрдиреАрдп рд▓рд╛рдЧреВ рдХрд░рддрд╛ рд╣реИ

рдореИрдВрдиреЗ рдЗрд╕реЗ рдареАрдХ рдХрд░рдиреЗ рдХреА рдХреЛрд╢рд┐рд╢ рдХреА:

рдлрд╝рд╛рдЗрд▓ рдкрд░ рдЬрд╛рдПрдБ -> /рд╡рд┐рдХреНрд░реЗрддрд╛/рд╕рд┐рдореНрдлрдиреА/рдореЛрдиреЛрд▓реЙрдЧ-рдмрдВрдбрд▓/рдирд┐рд░реНрднрд░рддрд╛ рдЗрдВрдЬреЗрдХреНрд╢рди/рдХреЙрдиреНрдлрд╝рд┐рдЧрд░реЗрд╢рди.php

рдкрдВрдХреНрддрд┐ релрепрек рдХреЗ рдЖрд╕рдкрд╛рд╕ рдЯрд┐рдкреНрдкрдгреА рдХрд░реЗрдВ рдпрд╛ рдиреАрдЪреЗ рдХреА рд░реЗрдЦрд╛ рдХреЛ рд╣рдЯрд╛ рджреЗрдВ:

// -> ifTrue (рдлрд╝рдВрдХреНрд╢рди ($ v) {рд╡рд╛рдкрд╕реА ('рдлрд┐рдВрдЧрд░реНрд╕_рдХреНрд░реЙрд╕реНрдб' === $ v ['рдЯрд╛рдЗрдк'] || 'рдмрдлрд░' === $ v ['рдЯрд╛рдЗрдк'] || 'рдлрд╝рд┐рд▓реНрдЯрд░' === $v['type']) && 1 !== count($v['handler']); })

рдирд┐рдореНрди рдкрдВрдХреНрддрд┐ рдЬреЛрдбрд╝реЗрдВ:
->ifTrue(рдлрд╝рдВрдХреНрд╢рди ($v) {рд░рд┐рдЯрд░реНрди ('fingers_crossed' === $v['type'] || 'buffer' === $v['type'] || 'filter' === $v ['рдЯрд╛рдЗрдк']) && (рдЦрд╛рд▓реА($v['рд╣реИрдВрдбрд▓рд░']) || !is_string($v['handler'])); })

рд▓реЗрдХрд┐рди рдмрд╕ рдпрд╣ рддреНрд░реБрдЯрд┐ рдкреНрд░рд╛рдкреНрдд рдХрд░реЗрдВ:
err

@stegl рдХреГрдкрдпрд╛ рдЗрд╕ рдореБрджреНрджреЗ рдХреЛ рдпрд╣рд╛рдВ рд╕рд╣рд╛рдпрддрд╛ рдЕрдиреБрд░реЛрдз рдХреЗ рд╕рд╛рде рдПрдХ рдирдпрд╛ рдореБрджреНрджрд╛ рдЦреЛрд▓реЗрдВред рдлрд┐рд░ рднреА рдЖрдк рдЗрд╕рд╕реЗ рд▓рд┐рдВрдХ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред рдЖрдкрдХрд╛ рдмрд╣реБрдд рдмрд╣реБрдд рдзрдиреНрдпрд╡рд╛рджред

@christianlupus рдЖрд╣ рдореЙрдбреНрдпреВрд▓ рдЕрдкрдЧреНрд░реЗрдб рдирд╣реАрдВ рдХрд░ рд░рд╣рд╛ рд╣реИ .. рд▓реЗрдХрд┐рди @erikvanberkum рдХреА рдЯрд┐рдкреНрдкрдгреА

<<
рдЖрдк рдЗрд╕реЗ рддреНрд╡рд░рд┐рдд рдФрд░ рдЧрдВрджрд╛ рдареАрдХ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ:
рдлрд╝рд╛рдЗрд▓ рдкрд░ рдЬрд╛рдПрдБ -> /vendor/symfony/monolog-bundle/DependencyInjection/Configuration.php

рдкрдВрдХреНрддрд┐ релрепрек рдХреЗ рдЖрд╕рдкрд╛рд╕ рдЯрд┐рдкреНрдкрдгреА рдХрд░реЗрдВ рдпрд╛ рдиреАрдЪреЗ рдХреА рд░реЗрдЦрд╛ рдХреЛ рд╣рдЯрд╛ рджреЗрдВ:

// ->ifTrue(function ($v) { return ('fingers_crossed' === $v['type'] || 'buffer' === $v['type'] || 'filter' === $v['type']) && 1 !== count($v['handler']); })

рдирд┐рдореНрди рдкрдВрдХреНрддрд┐ рдЬреЛрдбрд╝реЗрдВ:
->ifTrue(function ($v) { return ('fingers_crossed' === $v['type'] || 'buffer' === $v['type'] || 'filter' === $v['type']) && (empty($v['handler']) || !is_string($v['handler'])); })

рдЗрдВрд╕реНрдЯреЙрд▓рд░ рдЗрдВрд╕реНрдЯреЙрд▓ рдХреЛ рд╕рдорд╛рдкреНрдд рдХрд░ рджреЗрдЧрд╛ рдФрд░ рдЖрдкрдХреЗ рдкрд╛рд╕ рдПрдкреНрд▓рд┐рдХреЗрд╢рди рддрдХ рдкрд╣реБрдВрдЪ рд╣реЛрдЧреАред

>

рдореИрдВрдиреЗ рдЗрд╕ рдлрд┐рдХреНрд╕ рдХреА рдХреЛрд╢рд┐рд╢ рдХреА рд▓реЗрдХрд┐рди рдореБрдЭреЗ рдЕрдм рдПрдХ рдЕрд▓рдЧ рддреНрд░реБрдЯрд┐ рдорд┐рд▓рддреА рд╣реИред

"рд╕рд░реНрд╡рд░ рд╕реЗ рдЕрдорд╛рдиреНрдп рдкреНрд░рддрд┐рдХреНрд░рд┐рдпрд╛"

рдХреНрдпрд╛ рдпрд╣ рдлрд┐рдХреНрд╕ рдЕрднреА рднреА рдорд╛рдиреНрдп рд╣реИ?

@xadonxander рдирд╛рдо рдХрд╛ "рдлрд┐рдХреНрд╕" рдХрднреА рдареАрдХ рдирд╣реАрдВ рдерд╛ред рдпрд╣ рд╕реНрдкрд╖реНрдЯ рд░реВрдк рд╕реЗ рдирд┐рд░реНрднрд░рддрд╛ рдХреЛрдб рдореЗрдВ рд╣реИрдХрд┐рдВрдЧ рд╣реИ рдЬреЛ рдПрдХ рд╕реНрдкрд╖реНрдЯ рддреНрд░реБрдЯрд┐ рд╣реИред

рддреЛ рдЗрд╕реЗ рдПрдХ рдмрд╛рд░ рдлрд┐рд░ рд╕реНрдкрд╖реНрдЯ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП: /vendor рдлрд╝реЛрд▓реНрдбрд░ рдХреЗ рдЕрдВрддрд░реНрдЧрдд рдХреБрдЫ рднреА рди рдмрджрд▓реЗрдВред

рдЗрд╕ рдмреАрдЪ рд╕рдмрд╕реЗ рдЕрдЪреНрдЫрд╛ рд╕рдорд╛рдзрд╛рди PHP 7.0 рдпрд╛ 7.1 рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдирд╛ рд╣реИред рддрдм рддреНрд░реБрдЯрд┐ рдмрд┐рд▓реНрдХреБрд▓ рдкреНрд░рдХрдЯ рдирд╣реАрдВ рд╣реЛрдиреА рдЪрд╛рд╣рд┐рдПред рдЗрд╕рдХреЗ рдЕрд▓рд╛рд╡рд╛ рд╣рдореЗрдВ рдирд┐рд╢реНрдЪрд┐рдд рд░реВрдк рд╕реЗ рдЕрдкрдбреЗрдЯ рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ, #1083 рджреЗрдЦреЗрдВред

рдХреНрдпрд╛ рдпрд╣ рдкреГрд╖реНрда рдЙрдкрдпреЛрдЧреА рдерд╛?
0 / 5 - 0 рд░реЗрдЯрд┐рдВрдЧреНрд╕