Desarrollé un proyecto Symfony. Todo está bien en las máquinas de desarrollo (usando el servidor Symfony en el puerto 8000).
Cuando cloné el git en mi servidor de producción, recibí este error:
Ejecutando script cache:clear [KO] [KO] Script cache:clear devuelto con el código de error 1 !! !! // ¡¡Limpiando el caché para el entorno prod con debug!! // falso !! !! !! En App_KernelProdContainer.php línea 674: !! !! El parámetro "21" debe ser definido. !! !! !! cache:clear [--sin-calentamiento] [--sin-calentadores-opcionales] !! !! Script @auto-scripts fue llamado a través de post-update-cmd
Intenté: eliminar el contenido de var/cache/* ejecutar un php bin/console cache:pool:clear cache.global_clearer establecer el env en prod y dev
Nada cambia.
Tengo un ubuntu 20 con php-fpm7.4, mysql 8.0.
El registro de errores muestra:
AH01071: Obtuve el error 'Mensaje de PHP: PHP Fatal error: Uncaught Symfony\Component\DependencyInjection\Exception\InvalidArgumentException: Se debe definir el parámetro "21". en /var/www/html/lavanderiasolari/public_html/laundry_manager/var/cache/prod/ContainerJ6TfZkC/App_KernelProdContainer.php:674\nRastreo de pila:\n#0 /var/www/html/lavanderiasolari/public_html/laundry_manager/vendor/ symfony/dependency-injection/EnvVarProcessor.php(281): ContainerJ6TfZkC\App_KernelProdContainer->getParameter()\n#1 [función interna]: Symfony\Component\DependencyInjection\EnvVarProcessor->Symfony\Component\DependencyInjection\{cierre}() \n#2 /var/www/html/lavanderiasolari/public_html/laundry_manager/vendor/symfony/dependency-injection/EnvVarProcessor.php(277): preg_replace_callback()\n#3 /var/www/html/lavanderiasolari/public_html/ laundry_manager/vendor/symfony/dependency-injection/Container.php(415): Symfony\Component\DependencyInjection\EnvVarProcessor->getEnv()\n#4 /var/www/html/lavanderiasolari/public_html/laundry_manager/var/cache/ prod/Cont...'
Ejecuté composer dump-env .env y generó .env.local.php, con
return array ( 'APP_ENV' => 'prod', 'APP_SECRET' => 'c6e083dd648f30951fb991cee1df42f9', 'DATABASE_URL' => 'mysql://[DBUSER]:'.urlencode('[dbpasswd]').'@127.0. 0.1:3306/[dbname]?serverVersion=8.0', );
¿Qué debo hacer?
Muchas gracias.
Teniendo el mismo error. El problema proviene de caracteres especiales en su contraseña. De hecho, en las variables .env necesita codificar la URL. Por ejemplo != se convierte en %21%2F pero causa error
El parámetro “21” debe ser definido
Solución en config/packages/doctrine.yaml replace
url: '%env(resolve:DATABASE_URL)%'por
url: '%env(DATABASE_URL)%'