Partkeepr: La instalación falla al calentar la caché (error de monólogo)

Creado en 23 sept. 2017  ·  20Comentarios  ·  Fuente: partkeepr/PartKeepr

Información del sistema

  • Versión PartKeepr: 1.3.0
  • PHP versión 7.2

Cuando llego al último paso tengo el error de la imagen:

2017-09-22 15_28_28-partkeepr setup

move-to-wiki

Comentario más útil

Puedes arreglar esto rápido y sucio:
ir al archivo -> /vendor/symfony/monolog-bundle/DependencyInjection/Configuration.php

alrededor de la línea 594 comente o elimine la línea a continuación:

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

agregue la siguiente línea:
->ifTrue(function ($v) { return ('fingers_crossed' === $v['type'] || 'buffer' === $v['type'] || 'filter' === $v['type']) && (empty($v['handler']) || !is_string($v['handler'])); })

el instalador terminará la instalación y usted tendrá acceso a la aplicación.

Todos 20 comentarios

El bicho:

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

es causado por PHP 7.2, la solución temporal es degradar a PHP 7.1.

El error está en Symfony ascendente, consulte: https://github.com/symfony/monolog-bundle/issues/223

¿Alguna solución para esto? Estoy trabajando con Linux Mint, y no soy un usuario experto de Linux para instalar php7.1 ... Linux Mint solo ofrece el estándar 7.2 ...

Puedes arreglar esto rápido y sucio:
ir al archivo -> /vendor/symfony/monolog-bundle/DependencyInjection/Configuration.php

alrededor de la línea 594 comente o elimine la línea a continuación:

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

agregue la siguiente línea:
->ifTrue(function ($v) { return ('fingers_crossed' === $v['type'] || 'buffer' === $v['type'] || 'filter' === $v['type']) && (empty($v['handler']) || !is_string($v['handler'])); })

el instalador terminará la instalación y usted tendrá acceso a la aplicación.

¿Sigue siendo esta la solución recomendada?

Sí, lo parece.
La corrección en symphony / monolog-bundle se lanzó en la versión 3.1.2, y PartKeepr está usando 2.4.
Para poder utilizar la nueva versión de monolog-bundle, symphony tendría que actualizarse y eso no es fácil de hacer (sin una gran inversión de tiempo).
La solución alternativa de @erikvanberkum sigue siendo la mejor manera de hacerlo.

Entendido. ¿Quizás tenga una solución automática como parte del script de configuración?
Es decir, una solución automatizada que reemplaza esa línea.

Tuve este problema al intentar instalar Partkeepr en una Raspberry Pi 3+

Me di por vencido e hice una actualización limpia y reinstalé el sistema operativo y Partkeepr desde cero después de
esta página- https://wiki.partkeepr.org/wiki/PartKeepr_on_Debian_%22Stretch%22

Configuré el tiempo de espera en 130 en lugar de 120, y luego, después de la página de parámetros de la base de datos, seguí esta página
https://wiki.partkeepr.org/wiki/APC_Metadata_Caching

para editar el yaml y continuó y se instaló bien.

¿Cuál de todas estas bifurcaciones es la que tiene el código de trabajo / más reciente?
Ahora probé 13 de ellos y todavía no puedo instalarlo :(
Usando CentOS.

Mi información:

cat / etc / centos-release

Lanzamiento de CentOS Linux 7.6.1810 (Core)

uname -a

Linux xxx.org 3.10.0-957.12.2.el7.x86_64 # 1 SMP Mar 14 de mayo 21:24:32 UTC 2019 x86_64 x86_64 x86_64 GNU / Linux

php -v

PHP 7.2.19 (cli) (construido: 29 de mayo de 2019 11:04:13) (NTS)
Copyright (c) 1997-2018 El Grupo PHP
Zend Engine v3.2.0, Copyright (c) 1998-2018 Zend Technologies

mysql --versión

mysql Ver 15.1 Distrib 5.5.60-MariaDB, para Linux (x86_64) usando readline 5.1

httpd -v

Versión del servidor: Apache / 2.4.6 (CentOS)
Servidor construido: 24 de abril de 2019 13:45:48

Errores que obtengo:

[Sábado 01 de junio 00: 22: 58.384109 2019] [php7: warn] [pid 13807] [cliente 155.4.14.39:56332] Advertencia de PHP: require_once (/ webdata1 / partkeepr / web /../ app / bootstrap.php.cache ): no se pudo abrir la secuencia: no existe ese archivo o directorio en /webdata1/partkeepr/web/app.php en la línea 6, referencia: http://partkeepr.ddns.net/setup/index.html
[Sáb 01 de junio 00: 22: 58.384190 2019] [php7: error] [pid 13807] [cliente 155.4.14.39:56332] Error fatal de PHP: require_once (): Error al abrir requerido '/webdata1/partkeepr/web/../ app / bootstrap.php.cache '(include_path ='.: / usr / share / pear: / usr / share / php ') en /webdata1/partkeepr/web/app.php en la línea 6, referencia: http: // partkeepr.ddns.net/setup/index.html
[Sábado 01 de junio 00: 22: 58.394956 2019] [php7: warn] [pid 13797] [cliente 155.4.14.39:56331] Advertencia de PHP: require_once (/ webdata1 / partkeepr / web /../ app / bootstrap.php.cache ): no se pudo abrir la secuencia: no existe ese archivo o directorio en /webdata1/partkeepr/web/app.php en la línea 6, referencia: http://partkeepr.ddns.net/setup/index.html
[Sábado 01 de junio 00: 22: 58.395025 2019] [php7: error] [pid 13797] [cliente 155.4.14.39:56331] Error fatal de PHP: require_once (): Error al abrir requerido '/webdata1/partkeepr/web/../ app / bootstrap.php.cache '(include_path ='.: / usr / share / pear: / usr / share / php ') en /webdata1/partkeepr/web/app.php en la línea 6, referencia: http: // partkeepr.ddns.net/setup/index.html
[Sábado 01 de junio 00: 22: 58.565949 2019] [php7: warn] [pid 13799] [cliente 155.4.14.39:56334] Advertencia de PHP: require_once (/ webdata1 / partkeepr / web /../ app / bootstrap.php.cache ): no se pudo abrir la secuencia: no existe ese archivo o directorio en /webdata1/partkeepr/web/app.php en la línea 6, referencia: http://partkeepr.ddns.net/setup/index.html
[Sáb 01 de junio 00: 22: 58.566015 2019] [php7: error] [pid 13799] [cliente 155.4.14.39:56334] Error fatal de PHP: require_once (): Error al abrir requerido '/webdata1/partkeepr/web/../ app / bootstrap.php.cache '(include_path ='.: / usr / share / pear: / usr / share / php ') en /webdata1/partkeepr/web/app.php en la línea 6, referencia: http: // partkeepr.ddns.net/setup/index.html4

Recientemente instalé Partkeepr y no recibí este mensaje. Por tanto, lo cierro. Si alguien se encuentra con él, lo volveremos a abrir.

@christianlupus Recibí el error y la solución es # 1065 ...

Tengo este problema. Se corrigió con la actualización a monolog-bundle> 3.1.0
el compositor requiere el paquete symfony / monolog

@christianlupus Creo que esta es una buena

Puedo ponerlo en los documentos (al menos en los de preparación) pero dudo que sea una buena idea. Está cambiando parte del paquete de 2.7 a 3.1. Este es un cambio de versión importante y no tengo conocimiento de los efectos secundarios que esto pueda tener o no.
De hecho, hace que los usuarios realicen la actualización a Symphony 3 ellos mismos en parte. Tuve una experiencia muy mala con esos programas zombies de versiones mixtas ... Puede que no falle ahora, pero puede que falle en cualquier momento. Prefiero no dar el consejo oficial de meter tanto en un sistema del que ambos no sabemos mucho. Mi primera verificación no arrojó dependencias rotas, pero esto se hizo solo de forma manual rápida.

@baradhili ¿Tiene más información o conocimiento de que este es un consejo seguro?

@christianlupus ah no está haciendo una actualización del módulo ... pero el comentario de @erikvanberkum

<<
Puedes arreglar esto rápido y sucio:
ir al archivo -> /vendor/symfony/monolog-bundle/DependencyInjection/Configuration.php

alrededor de la línea 594 comente o elimine la línea a continuación:

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

agregue la siguiente línea:
->ifTrue(function ($v) { return ('fingers_crossed' === $v['type'] || 'buffer' === $v['type'] || 'filter' === $v['type']) && (empty($v['handler']) || !is_string($v['handler'])); })

el instalador terminará la instalación y usted tendrá acceso a la aplicación.

>

Ahh, está bien, ya veo. Lo mantendré abierto hasta que lo escriba en los documentos.

Tengo el mismo problema con esto ... y no puedo encontrar la manera de instalar una versión anterior de php ... ?? ¿Puedo conseguir ayuda?
el problema:

Configuración no válida para la ruta "monolog.handlers.main": Advertencia: count (): el parámetro debe ser una matriz o un objeto que implemente Countable

Traté de arreglarlo por:

ir al archivo -> /vendor/symfony/monolog-bundle/DependencyInjection/Configuration.php

alrededor de la línea 594 comente o elimine la línea a continuación:

// -> ifTrue (function ($ v) {return ('dedos_cruzados' === $ v ['tipo'] || 'búfer' === $ v ['tipo'] || 'filtro' === $ v ['tipo']) && 1! == count ($ v ['handler']);})

agregue la siguiente línea:
-> ifTrue (function ($ v) {return ('dedos_cruzados' === $ v ['tipo'] || 'búfer' === $ v ['tipo'] || 'filtro' === $ v ['tipo']) && (vacío ($ v ['manejador']) ||! is_string ($ v ['manejador']));})

pero solo obtén este error:
err

@stegl , abra un nuevo problema con la solicitud de ayuda para no resolver este problema aquí. Sin embargo, puede vincular a este. Muchísimas gracias.

@christianlupus ah no está haciendo una actualización del módulo ... pero el comentario de @erikvanberkum

<<
Puedes arreglar esto rápido y sucio:
ir al archivo -> /vendor/symfony/monolog-bundle/DependencyInjection/Configuration.php

alrededor de la línea 594 comente o elimine la línea a continuación:

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

agregue la siguiente línea:
->ifTrue(function ($v) { return ('fingers_crossed' === $v['type'] || 'buffer' === $v['type'] || 'filter' === $v['type']) && (empty($v['handler']) || !is_string($v['handler'])); })

el instalador terminará la instalación y usted tendrá acceso a la aplicación.

>

Probé esta solución, pero ahora recibo un error diferente.

"Respuesta no válida del servidor"

¿Esta solución sigue siendo válida?

@xadonxander, la "solución" nombrada nunca fue una solución. Claramente está pirateando el código de dependencia, lo cual es un claro error.

Entonces, para dejarlo en claro una vez más: No cambie nada en la carpeta /vendor .

Mientras tanto, la mejor solución es usar PHP 7.0 o 7.1. Entonces el error no debería aparecer en absoluto. Aparte de eso, definitivamente necesitamos actualizar, vea # 1083.

¿Fue útil esta página
0 / 5 - 0 calificaciones

Temas relacionados

WickedAx picture WickedAx  ·  11Comentarios

olewolf picture olewolf  ·  18Comentarios

michielbrink picture michielbrink  ·  7Comentarios

FinalHopee picture FinalHopee  ·  32Comentarios

mctomaszek picture mctomaszek  ·  20Comentarios