Magento réindexer de ligne de commande, présentant toujours erreur de temporisation
-
16-10-2019 - |
Question
Je suis en train de réindexer ma table de catalog_url_rewrite (site Magento) à travers la ligne de commande en utilisant la commande « php indexer.php --reindex catalog_url » dans / shell. Je reçois l'erreur suivante:
PHP Fatal error: Maximum execution time of 60 seconds exceeded in /var/www/domain.com/lib/Zend/Db/Statement.php on line 141
Le fichier et la ligne de l'erreur varie.
Je l'ai vérifié deux fois pour confirmer que php dans la ligne de commande est en effet utiliser la version php-cli (en utilisant « php -i ») et qu'il n'y a pas de limites dans sa configuration qui céderais une telle erreur.
Je l'ai aussi regardé pour voir si un fichier magento donne le « set_time_limit » manuellement, mais n'a pas pu trouver quoi que ce soit que les points de cette façon. Je ne peux pas trouver les 60 secondes max_execution_time partout.
Une idée sur ce qui se passe?
Edit:
Jusqu'à présent, j'ai essayé:
- Running "php -d max_execution_time = 0 indexer.php --reindex catalog_url"
- Réglage "set_time_limit (9000);" sur indexer.php directement.
- Running "php -i" pour voir "fichier de configuration (php.ini) Path => / etc / php5 / cli" et « Loaded Configuration File => /etc/php5/cli/php.ini"
- Réglage max_execution_time sur php.ini de FPM à 61 juste pour voir si elle utilisait par accident.
- Fait que "set_time_limit (60)" ne hardcoded nulle part dans le cadre de magento.
La solution
Je l'ai rencontré ce. Le problème est que les scripts shell extension Mage_Shell_Abstract
Hériter comportement qui applique les paramètres PHP ini analysés à partir du fichier .htaccess
Magento.
Jetez un oeil à la méthode protected function _applyPhpVariables()
dans shell/abstract.php
.
simple correctif, est juste modifier .htaccess
et commenter les directives php_value
pour execution_time
et ou memory_limit
. Sinon, vous pouvez étendre l'indexeur en remplaçant la méthode applyPhpVariables()
et arrêter le traitement du .htaccess
.
J'ai fait des dons importants à mon pot ne jurent que quand je découvre cette « caractéristique ».
Autres conseils
Essayez de lancer à partir de la racine de l'installation Magento:
php -d max_execution_time=0 ./shell/indexer.php --reindex catalog_url
Si cette commande échoue avec la même erreur, alors quelque chose de fou qui se passe. :)
Une chose à signaler est que les commandes shell Magento analyser le fichier .htaccess et appliqueront les paramètres de (tels que délai) qu'il trouve. Je voudrais vérifier votre fichier .htaccess.
Voir cet article je l'ai écrit il y a un certain temps: http://edmondscommerce.github.io /magento/magento-shell-scripts-and-memory-limit-woes-solution.html