Hola de nuevo, estoy intentando hacer una estructura custom en mi tienda de magento, vamos que me estoy creando un tema hijo y estoy metiendo productos nuevos. Entiendo que para que me reconozca el tema hijo y pueda además visualizar nuevos productos, tengo que hacer upgrades, reindexar y compilar desde terminal.
Problema: no me deja ejecutar comandos desde terminal. Tengo instalada una versión de php 8.3, ChatGPT me dice que no es compatible con Magento 2 pero a mi cliente por lo visto los de Adobe le han dicho que sí. El caso es que intento hacer theme:upgrade pero me da el siguiente error:
he intentado el theme:upgrade pero me da un error
There is an error in /var/www/html/magento2/vendor/magento/framework/Config/ConfigOptionsListConstants.php at line: 133
Undefined constant PDO::MYSQL_ATTR_SSL_KEY#0 /var/www/html/magento2/setup/src/Magento/Setup/Model/ConfigOptionsList.php(181): [constant expression]()
#1 /var/www/html/magento2/setup/src/Magento/Setup/Model/ConfigModel.php(72): Magento\Setup\Model\ConfigOptionsList->getOptions()
#2 /var/www/html/magento2/setup/src/Magento/Setup/Console/Command/ConfigSetCommand.php(63): Magento\Setup\Model\ConfigModel->getAvailableOptions()
#3 /var/www/html/magento2/vendor/symfony/console/Command/Command.php(137): Magento\Setup\Console\Command\ConfigSetCommand->configure()
#4 /var/www/html/magento2/setup/src/Magento/Setup/Console/Command/ConfigSetCommand.php(53): Symfony\Component\Console\Command\Command->__construct()
#5 /var/www/html/magento2/vendor/laminas/laminas-di/src/Injector.php(179): Magento\Setup\Console\Command\ConfigSetCommand->__construct()
#6 /var/www/html/magento2/vendor/laminas/laminas-di/src/Injector.php(133): Laminas\Di\Injector->createInstance()
#7 /var/www/html/magento2/vendor/laminas/laminas-di/src/Container/AutowireFactory.php(61): Laminas\Di\Injector->create()
#8 /var/www/html/magento2/vendor/laminas/laminas-di/src/Container/ServiceManager/AutowireFactory.php(45): Laminas\Di\Container\AutowireFactory->create()
#9 /var/www/html/magento2/vendor/laminas/laminas-servicemanager/src/ServiceManager.php(642): Laminas\Di\Container\ServiceManager\AutowireFactory->__invoke()
#10 /var/www/html/magento2/vendor/laminas/laminas-servicemanager/src/ServiceManager.php(264): Laminas\ServiceManager\ServiceManager->doCreate()
#11 /var/www/html/magento2/setup/src/Magento/Setup/Console/CommandLoader.php(83): Laminas\ServiceManager\ServiceManager->get()
#12 /var/www/html/magento2/vendor/magento/framework/Console/CommandLoader/Aggregate.php(44): Magento\Setup\Console\CommandLoader->get()
#13 /var/www/html/magento2/vendor/symfony/console/Application.php(617): Magento\Framework\Console\CommandLoader\Aggregate->get()
#14 /var/www/html/magento2/vendor/symfony/console/Application.php(809): Symfony\Component\Console\Application->has()
#15 /var/www/html/magento2/vendor/symfony/console/Application.php(630): Symfony\Component\Console\Application->all()
#16 /var/www/html/magento2/vendor/symfony/console/Application.php(652): Symfony\Component\Console\Application->getNamespaces()
#17 /var/www/html/magento2/vendor/symfony/console/Application.php(720): Symfony\Component\Console\Application->findNamespace()
#18 /var/www/html/magento2/vendor/symfony/console/Application.php(266): Symfony\Component\Console\Application->find()
#19 /var/www/html/magento2/vendor/magento/framework/Console/Cli.php(122): Symfony\Component\Console\Application->doRun()
#20 /var/www/html/magento2/vendor/symfony/console/Application.php(175): Magento\Framework\Console\Cli->doRun()
#21 /var/www/html/magento2/bin/magento(23): Symfony\Component\Console\Application->run()
#22 {main}
El caso es que sí que tengo habilitados los módulos pdo y pdo_mysql en mi PHP 8.3 ¿Me podéis echar un cable? Muchas gracias.
Si ejecuto en terminal el comando:
php -r 'echo defined("PDO::MYSQL_ATTR_SSL_KEY") ? "Defined\n" : "Not defined\n";'
me dice "Defined", vamos que la variable está definida. Así que ya no sé.