Magento réindexer de ligne de commande, présentant toujours erreur de temporisation

magento.stackexchange https://magento.stackexchange.com/questions/10095

  •  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.
Était-ce utile?

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

Licencié sous: CC-BY-SA avec attribution
Non affilié à magento.stackexchange
scroll top