λ§μ§λ§ λ¨κ³μ λλ¬νλ©΄ μ΄λ―Έμ§μμ μ€λ₯κ° λ°μν©λλ€.
λ²κ·Έ:
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λ‘ λ€μ΄κ·Έλ μ΄λνλ κ²μ λλ€.
λ²κ·Έλ μ μ€νΈλ¦Ό symfonyμ μμ΅λλ€( https://github.com/symfony/monolog-bundle/issues/223 μ°Έμ‘°).
μ΄μ λν μμ μ¬νμ΄ μμ΅λκΉ? μ λ Linux Mintλ‘ μμ νκ³ μμΌλ©° php7.1μ μ€μΉνλ μ λ¬Έ Linux μ¬μ©μκ° μλλλ€... Linux Mintλ 7.2 νμ€λ§ μ 곡ν©λλ€...
μ΄ λΉ λ₯΄κ³ λλ¬μ΄ λ¬Έμ λ₯Ό ν΄κ²°ν μ μμ΅λλ€.
νμΌλ‘ μ΄λ -> /vendor/symfony/monolog-bundle/DependencyInjection/Configuration.php
μ€ 594 μ£Όμμ μ£Όμ μ²λ¦¬ λλ μλ μ€ μ κ±°:
// ->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'])); })
μ€μΉ νλ‘κ·Έλ¨μ΄ μ€μΉλ₯Ό μλ£νκ³ μμ© νλ‘κ·Έλ¨μ μ‘μΈμ€ν μ μμ΅λλ€.
μ΄κ²μ΄ μ¬μ ν κΆμ₯λλ μμ μ¬νμ λκΉ?
μ, κ·Έλ° κ² κ°μ΅λλ€.
symphony/monolog-bundleμ μμ μ¬νμ λ²μ 3.1.2μμ 릴리μ€λμμΌλ©° PartKeeprμ 2.4λ₯Ό μ¬μ©νκ³ μμ΅λλ€.
μ λ²μ μ monolog-bundleμ μ¬μ©νλ €λ©΄ symphonyλ₯Ό μ
λ°μ΄νΈν΄μΌ νλ©° μ΄λ (μλΉν λ§μ μκ° ν¬μ μμ΄) μ½κ² μνν μ μμ΅λλ€.
@erikvanberkum μ ν΄κ²° λ°©λ²μ μ¬μ ν ββκ°μ₯ μ’μ λ°©λ²μ
λλ€.
μ‘μλ€. μ€μ μ€ν¬λ¦½νΈμ μΌλΆλ‘ μλνλ μμ μ΄ μμ΅λκΉ?
μ¦, ν΄λΉ λΌμΈμ λ체νλ μλνλ μμ μ
λλ€.
Raspberry Pi 3+μ Partkeeprμ μ€μΉνλ €κ³ ν λ μ΄ λ¬Έμ κ° λ°μνμ΅λλ€.
λλ ν¬κΈ°νκ³ κΉ¨λν μ¬ νλμλ₯Ό μννκ³ OSμ Partkeeprμ μ²μλΆν° λ€μ μ€μΉνμ΅λλ€.
μ΄ νμ΄μ§ - https://wiki.partkeepr.org/wiki/PartKeepr_on_Debian_%22Stretch%22
μκ° μ νμ 120 λμ 130μΌλ‘ μ€μ ν λ€μ λ°μ΄ν°λ² μ΄μ€ 맀κ°λ³μ νμ΄μ§ μ΄νμ μ΄ νμ΄μ§λ₯Ό λ°λΌκ°μ΅λλ€.
https://wiki.partkeepr.org/wiki/APC_Metadata_Caching
yamlμ νΈμ§νκ³ κ³μ μ§ννλ©΄ μ μ€μΉλ©λλ€.
μ΄ λͺ¨λ ν¬ν¬ μ€ μλ/μ΅μ μ½λκ° μλ ν¬ν¬λ 무μμ
λκΉ?
λλ μ§κΈ κ·Έλ€ μ€ 13κ°λ₯Ό μλνμ§λ§ μ¬μ ν μ€μΉμ‘°μ°¨ ν μ μμ΅λλ€ :(
CentOSλ₯Ό μ¬μ©ν©λλ€.
λ΄ μ 보:
CentOS Linux λ¦΄λ¦¬μ€ 7.6.1810(μ½μ΄)
Linux xxx.org 3.10.0-957.12.2.el7.x86_64 #1 SMP Tue May 14 21:24:32 UTC 2019 x86_64 x86_64 x86_64 GNU/Linux
PHP 7.2.19(cli) (λΉλ: 2019λ
5μ 29μΌ 11:04:13) ( NTS )
Copyright (c) 1997-2018 PHP κ·Έλ£Ή
Zend μμ§ v3.2.0, Copyright (c) 1998-2018 Zend Technologies
mysql λ²μ 15.1 λ°°ν¬ν 5.5.60-MariaDB, Linux(x86_64)μ© readline 5.1 μ¬μ©
μλ² λ²μ : Apache/2.4.6(CentOS)
μλ² κ΅¬μΆ: 2019λ
4μ 24μΌ 13:45:48
[Sat June 01 00:22:58.384109 2019] [php7:warn] [pid 13807] [client 155.4.14.39:56332] PHP κ²½κ³ : require_once(/webdata1/partkeepr/web/../app/bootstrap.php. ): μ€νΈλ¦Όμ μ΄μ§ λͺ»νμ΅λλ€. 6νμ /webdata1/partkeepr/web/app.phpμ ν΄λΉ νμΌ λλ λλ ν λ¦¬κ° μμ΅λλ€. μ°Έμ‘°: http://partkeepr.ddns.net/setup/index.html
[Sat Jun 01 00:22:58.384190 2019] [php7:error] [pid 13807] [client 155.4.14.39:56332] PHP μΉλͺ
μ μΈ μ€λ₯: require_once(): '/webdata1/partkeepr/web/../λ₯Ό μ΄μ§ λͺ»νμ΅λλ€. app/bootstrap.php.cache'(include_path='.:/usr/share/pear:/usr/share/php') /webdata1/partkeepr/web/app.php 6ν, μ°Έμ‘°: http:// partkeepr.ddns.net/setup/index.html
[Sat June 01 00:22:58.394956 2019] [php7:warn] [pid 13797] [client 155.4.14.39:56331] PHP κ²½κ³ : require_once(/webdata1/partkeepr/web/../app/bootstrap.php. ): μ€νΈλ¦Όμ μ΄μ§ λͺ»νμ΅λλ€. 6νμ /webdata1/partkeepr/web/app.phpμ ν΄λΉ νμΌ λλ λλ ν λ¦¬κ° μμ΅λλ€. μ°Έμ‘°: http://partkeepr.ddns.net/setup/index.html
[Sat Jun 01 00:22:58.395025 2019] [php7:error] [pid 13797] [client 155.4.14.39:56331] PHP μΉλͺ
μ μΈ μ€λ₯: require_once(): '/webdata1/partkeepr/web/../λ₯Ό μ΄μ§ λͺ»νμ΅λλ€. app/bootstrap.php.cache'(include_path='.:/usr/share/pear:/usr/share/php')μ /webdata1/partkeepr/web/app.php λΌμΈ 6, μ°Έμ‘°: http:// partkeepr.ddns.net/setup/index.html
[Sat June 01 00:22:58.565949 2019] [php7:warn] [pid 13799] [client 155.4.14.39:56334] PHP κ²½κ³ : require_once(/webdata1/partkeepr/web/../app/bootstrap.php. ): μ€νΈλ¦Όμ μ΄μ§ λͺ»νμ΅λλ€. 6νμ /webdata1/partkeepr/web/app.phpμ ν΄λΉ νμΌ λλ λλ ν λ¦¬κ° μμ΅λλ€. μ°Έμ‘°: http://partkeepr.ddns.net/setup/index.html
[Sat Jun 01 00:22:58.566015 2019] [php7:error] [pid 13799] [client 155.4.14.39:56334] PHP μΉλͺ
μ μΈ μ€λ₯: require_once(): '/webdata1/partkeepr/web/../λ₯Ό μ΄μ§ λͺ»νμ΅λλ€. app/bootstrap.php.cache'(include_path='.:/usr/share/pear:/usr/share/php') /webdata1/partkeepr/web/app.php 6ν, μ°Έμ‘°: http:// partkeepr.ddns.net/setup/index.html4
μ΅κ·Όμ Partkeeprμ μ€μΉνλλ° μ΄ λ©μμ§λ₯Ό λ°μ§ λͺ»νμ΅λλ€. λ°λΌμ λλ κ·Έκ²μ λ«μ΅λλ€. λꡬλ μ§ λΆλͺμΉλ©΄ λ€μ μ΄κ² μ΅λλ€.
@christianlupus μ€λ₯κ° λ°μνκ³ μμ μ¬νμ #1065μ λλ€ ...
μ΄ λ¬Έμ κ° λ°μνμ΅λλ€. monolog-bundle >3.1.0μ λν μ
λ°μ΄νΈλ‘ μμ λ¨
μ곑κ°μλ symfony/monolog- bundle:3.1μ΄ νμν©λλ€. * κ³ μ³€λ€
@christianlupus λλ μ΄κ²μ΄ λ¬Έμμ μΆκ°νκΈ°μ μ’μ κ²μ΄λΌκ³ μκ°ν©λλ€ :)
λ¬Έμ(μ μ΄λ μ€λΉ λ¬Έμ)μ λ£μ μ μμ§λ§ μ΄κ²μ΄ μ λ§ μ’μ μκ°μΈμ§ μμ¬μ€λ½μ΅λλ€. λ²λ€μ μΌλΆλ₯Ό 2.7μμ 3.1λ‘ λ³κ²½νκ³ μμ΅λλ€. μ΄κ²μ μ£Όμ λ²μ λ³κ²½ μ¬νμ΄λ©° μ΄λ‘ μΈν΄ λ°μν μ μλ λΆμμ©μ λν΄ μμ§ λͺ»ν©λλ€.
μ€μ λ‘ μ¬μ©μκ° λΆλΆμ μΌλ‘ symphony 3μ λν μ
λ°μ΄νΈλ₯Ό μννλλ‘ ν©λλ€. λλ νΌν© λ²μ μ μ’λΉ νλ‘κ·Έλ¨κ³Ό κ°μ λ§€μ° λμ κ²½νμνμ΅λλ€.... μ§κΈμ μ€ν¨νμ§ μμ μλ μμ§λ§ μΈμ λ μ§ μ€ν¨ν μ μμ΅λλ€. λλ μ°λ¦¬ λ λ€ μ μμ§ λͺ»νλ μμ€ν
μ λν΄ κ·Έλ κ² λ§μ μ 보λ₯Ό μ 곡νκΈ° μν΄ κ³΅μμ μΈ μ‘°μΈμ νκ³ μΆμ§ μμ΅λλ€. λ΄ μ²« λ²μ§Έ κ²μ¬λ κΉ¨μ§ μ’
μμ±μ μμ±νμ§ μμμ§λ§ μ΄κ²μ λΉ λ₯Έ μλ λ°©μμΌλ‘λ§ μνλμμ΅λλ€.
@baradhili μ΄κ²μ΄ μμ ν μ‘°μΈμ΄λΌλ μΆκ° μ 보λ μ§μμ΄ μμ΅λκΉ?
@christianlupus μ λͺ¨λ μ κ·Έλ μ΄λλ νμ§ μλλ° ..
<<
μ΄ λΉ λ₯΄κ³ λλ¬μ΄ λ¬Έμ λ₯Ό ν΄κ²°ν μ μμ΅λλ€.
νμΌλ‘ μ΄λ -> /vendor/symfony/monolog-bundle/DependencyInjection/Configuration.php
μ€ 594 μ£Όμμ μ£Όμ μ²λ¦¬ λλ μλ μ€ μ κ±°:
// ->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" κ²½λ‘μ λν μλͺ»λ ꡬμ±: κ²½κ³ : count(): 맀κ°λ³μλ Countableμ ꡬννλ λ°°μ΄ λλ κ°μ²΄μ¬μΌ ν©λλ€.
λλ κ·Έκ²μ κ³ μΉ λ €κ³ λ Έλ ₯νλ€ :
νμΌλ‘ μ΄λ -> /vendor/symfony/monolog-bundle/DependencyInjection/Configuration.php
μ€ 594 μ£Όμμ μ£Όμ μ²λ¦¬ λλ μλ μ€ μ κ±°:
// ->ifTrue(function ($v) { return ('fingers_crossed' === $v['type'] || 'buffer' === $v['type'] || 'filter' === $v['μ ν']) && 1 !== count($v['handler']); })
λ€μ μ€μ μΆκ°νμμμ€.
->ifTrue(function ($v) { return ('fingers_crossed' === $v['type'] || 'buffer' === $v['type'] || 'filter' === $v ['μ ν']) && (empty($v['handler']) || !is_string($v['handler'])); })
κ·Έλ¬λμ΄ μ€λ₯κ° λ°μν©λλ€.
@stegl μ¬κΈ°μμ μ΄ λ¬Έμ λ₯Ό ν΄κ²°νμ§ μμΌλ €λ©΄ λμ μμ² μΌλ‘ μ λ¬Έμ λ₯Ό μ¬μμμ€. κ·ΈλΌμλ λΆκ΅¬νκ³ μ΄κ²μ μ°κ²°ν μ μμ΅λλ€. λ§€μ° κ°μ¬ν©λλ€.
@christianlupus μ λͺ¨λ μ κ·Έλ μ΄λλ νμ§ μλλ° ..
<<
μ΄ λΉ λ₯΄κ³ λλ¬μ΄ λ¬Έμ λ₯Ό ν΄κ²°ν μ μμ΅λλ€.
νμΌλ‘ μ΄λ ->/vendor/symfony/monolog-bundle/DependencyInjection/Configuration.php
μ€ 594 μ£Όμμ μ£Όμ μ²λ¦¬ λλ μλ μ€ μ κ±°:
// ->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 "fix"λΌλ μ΄λ¦μ κ²°μ½ μμ μ¬νμ΄ μλλλ€. λͺ λ°±ν μ€λ₯μΈ μ’ μμ± μ½λλ₯Ό ν΄νΉνλ κ²μ λλ€.
λ€μ ν λ² λͺ
ννκ² νλ €λ©΄ /vendor
ν΄λ μλμμ μ무 κ²λ λ³κ²½νμ§ λ§μμμ€.
κ·Έ λμ κ°μ₯ μ’μ μμ μ PHP 7.0 λλ 7.1μ μ¬μ©νλ κ²μ λλ€. κ·Έλ¬λ©΄ μ€λ₯κ° μ ν λνλμ§ μμμΌ ν©λλ€. κ·Έ μΈμ μ°λ¦¬λ νμ€ν μ λ°μ΄νΈν΄μΌ ν©λλ€(#1083 μ°Έμ‘°).
κ°μ₯ μ μ©ν λκΈ
μ΄ λΉ λ₯΄κ³ λλ¬μ΄ λ¬Έμ λ₯Ό ν΄κ²°ν μ μμ΅λλ€.
νμΌλ‘ μ΄λ -> /vendor/symfony/monolog-bundle/DependencyInjection/Configuration.php
μ€ 594 μ£Όμμ μ£Όμ μ²λ¦¬ λλ μλ μ€ μ κ±°:
// ->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'])); })
μ€μΉ νλ‘κ·Έλ¨μ΄ μ€μΉλ₯Ό μλ£νκ³ μμ© νλ‘κ·Έλ¨μ μ‘μΈμ€ν μ μμ΅λλ€.