Erros ao instalar dados de amostra opcionais
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.