Erros ao instalar dados de amostra opcionais
- Tópicos:
- Console
Criado para:
- Desenvolvedor
Este tópico discute soluções para erros que você pode encontrar ao instalar dados de amostra opcionais.
Sintoma (permissões do sistema de arquivos)
Erro no log do console durante a instalação de dados de exemplo usando o Assistente de Instalação:
Module 'Magento_CatalogRuleSampleData':
[ERROR] exception 'Magento\Framework\Exception\LocalizedException' with message 'Can't create directory /var/www/html/magento2/generated/code/Magento/CatalogRule/Model/.' in /var/www/html/magento2/lib/internal/Magento/Framework/Code/Generator.php:103
(more)
Next exception 'ReflectionException' with message 'Class Magento\CatalogRule\Model\RuleFactory does not exist' in /var/www/html/magento2/lib/internal/Magento/Framework/Code/Reader/ClassReader.php:29
(more)
Essas exceções resultam das configurações de permissões do sistema de arquivos.
Solução
Defina novamente a propriedade e as permissões do sistema de arquivos como um usuário com root
privilégios.
Sintoma (modo de produção)
Se você estiver definido atualmente para modo de produção, a instalação de dados de amostra falhará se você usar o comando magento sampledata:deploy:
PHP Fatal error: Uncaught TypeError: Argument 1 passed to Symfony\Component\Console\Input\ArrayInput::__construct() must be of the type array, object given, called in /<path>/vendor/magento/framework/ObjectManager/Factory/AbstractFactory.php on line 97 and defined in /<path>/vendor/symfony/console/Symfony/Component/Console/Input/ArrayInput.php:37
Solução
Não instale dados de amostra no modo de produção. Alterne para o modo de desenvolvedor, limpe alguns diretórios var
e tente novamente.
Digite os seguintes comandos na ordem mostrada como o proprietário do sistema de arquivos do Adobe Commerce:
cd <magento_root>
bin/magento deploy:mode:set developer
rm -rf generated/code/* generated/metadata/*
bin/magento sampledata:deploy
Sintoma (segurança)
Durante a instalação de dados de amostra opcionais, uma mensagem semelhante à seguinte é exibida:
PHP Fatal error: Call to undefined method Magento\Catalog\Model\Resource\Product\Interceptor::getWriteConnection() in /var/www/magento2/app/code/Magento/SampleData/Module/Catalog/Setup/Product/Gallery.php on line 144
Solução
Durante a instalação dos dados de amostra, desative o SELinux usando um recurso como:
Sintoma (desenvolver ramificação)
Outros erros são exibidos, como:
[Magento\Setup\SampleDataException] Error during sample data installation: Class Magento\Sales\Model\Service\OrderFactory does not exist
Solução
Há problemas conhecidos no uso de dados de amostra com a ramificação de desenvolvimento do Adobe Commerce. Em vez disso, use a ramificação mestre. Você pode alternar para a ramificação mestre da seguinte maneira:
cd <magento_root>
git checkout master
git pull origin master
Sintoma (max_execution_time)
A instalação é interrompida antes que a instalação de dados de amostra seja concluída. Um exemplo é o seguinte:
(more)
Module 'Magento_CustomerSampleData':
Installing data...
A instalação de dados de exemplo não termina.
Este erro ocorre quando o tempo máximo de execução configurado de seus scripts PHP é excedido. Como os dados de amostra podem levar muito tempo para serem carregados, você pode aumentar o valor durante a instalação.
Solução
Como um usuário com privilégios root
, modifique php.ini
para aumentar o valor de max_execution_time
para 600 ou mais. (600 segundos são 10 minutos. Você pode aumentar o valor para o valor que desejar.) Você deve alterar max_execution_time
de volta para seu valor anterior após a instalação ser bem-sucedida.
Se você não tiver certeza de onde php.ini
está localizado, digite o seguinte comando:
php --ini
O valor de Loaded Configuration File
é o php.ini
que você deve modificar.