Comment utiliser des scripts PHP Shell pour exécuter des fonctions Magento courantes

La plupart d’entre vous savent déjà que par défaut, Magento a quelques scripts shell disponibles dans {MAGENTO/shell/} nous pouvons utiliser à partir de la ligne de commande. Si quelqu’un essaie d’exécuter la fonction de script à partir de l’interface, cela peut entraîner un délai d’attente et créer des problèmes dans les ressources du serveur. Par conséquent, il est fortement recommandé de l’utiliser à partir de la CLI, ce qui peut augmenter la productivité et faire gagner du temps. De plus, nous pouvons également programmer des scripts shell php via CRON, ce qui peut faire gagner beaucoup de temps.

Scripts shell PHP

Ensuite, je parlerai du répertoire Shell. Chaque fichier disponible sous le répertoire shell a sa propre fonction qui est expliquée ci-dessous :

Résumé.php

Abstract.php contient Mage_Shell_Abstract classe, qui est utilisée par d’autres scripts shell disponibles dans le répertoire shell. Des scripts shell personnalisés peuvent être créés à l’aide de quelques méthodes disponibles dans ce fichier ; des méthodes comme parseArgs(), _applyPhpVariables(), etc. Ceci est principalement destiné aux utilisateurs avancés. Vous pouvez ignorer cela et passer à d’autres scripts shell.

Compilateur.php

Magento Compilation a été introduit dans Magento Community Edition 1.4.2. Cette fonctionnalité combine des fichiers de classe dispersés dans app/code/local/, app/code/community/, app/code/core/et lib/ en un seul endroit dans /includes/src/. (Le répertoire include doit être accessible en écriture pour que cela fonctionne.)

La compilation peut réduire le temps de recherche de ces classes car elles seront toutes disponibles au même endroit. L’installation, la mise à niveau et la suppression de tout plug-in nécessitent la désactivation de cette fonctionnalité. La compilation peut être désactivée depuis l’administrateur, mais si vous souhaitez la désactiver depuis la CLI (ou si vous avez oublié de la désactiver avant d’installer l’extension et que vous ne parvenez pas à accéder au panneau d’administration), l’utilisation de compiler.php:

@> php compiler.php --help
Usage: php -f compiler.php -- [options]
state Affiche l’état de la compilation
compile Exécute le processus de compilation
clear Désactive le chemin d’accès du compilateur et supprime les fichiers compilés
enable Active le chemin d’inclusion du compilateur
disable Désactive le chemin d’inclusion du compilateur
help Fournit de l’aide
Exemple d’utilisation : php compiler.php --disable

Indexeur.php

Magento indexe les données des produits dans des tables de base de données séparées pour fournir un accès rapide sur demande, mais cela nécessite une réindexation si des modifications sont apportées aux produits, aux prix, etc. Ceci est fait pour s’assurer que les modifications sont reflétées sur le frontend. Cela améliore les performances lorsque vous avez un grand nombre de produits, mais cela peut entraîner des problèmes avec les ressources du serveur et des délais d’attente lors de la réindexation à partir de l’administrateur. Indexer.php peut aider à réindexer tous les indexeurs à partir de la CLI. Nous pouvons également définir CRON de indexer.php et peut l’exécuter sur une base quotidienne, hebdomadaire ou mensuelle. Ci-dessous l’utilisation de indexer.php:

@> php indexer.php help

Usage: php -f indexer.php -- [options]
--status <indexer> Affiche l’état des indexeurs
--mode <indexer> Afficher le mode d’indexation des indexeurs
--mode-realtime <indexer> Définir le type de mode d’index « Mettre à jour lors de l’enregistrement »
--mode-manual <indexer> Définir le type de mode d’index « Mise à jour manuelle »
--reindex <indexer> Réindexer les données
info Afficher les indexeurs autorisés
reindexall Réindexer les données par tous les indexeurs
help Fournit de l’aide
<indexer> Codes d’indexation séparés par des virgules ou valeur « all » pour tous les indexeurs
Exemple d’utilisation : php indexer.php reindexall

Avec une grande base de données, il n’est pas recommandé de réindexer tous les indexeurs en même temps. Les indexeurs individuels peuvent être identifiés avec la commande suivante.

@> php indexer.php info
catalog_product_attribute Attributs du produit
catalog_product_price Prix ​​des produits
catalog_url Réécritures d’URL de catalogue
catalog_category_product Catégorie Produits
catalogsearch_fulltext Index de recherche dans le catalogue
cataloginventory_stock État des stocks
tag_summary Données d’agrégation de balises

Après avoir identifié les indexeurs, vous pouvez déclencher leur indexation avec la commande suivante :

@> php indexer.php --reindex catalog_product_attribute

Log.php

Magento conserve des journaux de visiteurs, URL, etc., dans sa base de données. Les tableaux suivants sont utilisés pour la maintenance des journaux :

log_customer
log_visitor
log_visitor_info
log_url
log_url_info
log_quote
report_viewed_product_index
report_compared_product_index
report_event
catalog_compare_item

La taille de ces tables augmente au fil du temps. Par conséquent, ces tables nécessitent un nettoyage de temps en temps. Le nettoyage des journaux peut être programmé depuis l’administrateur, mais nous pouvons utiliser le mode CLI pour nettoyer manuellement les tables de journaux ou pour la planification via CRON. Ci-dessous l’utilisation de log.php:

Usage: php -f log.php -- [options]
php -f log.php -- clean --days 1
clean Nettoie les journaux
--days <days> Enregistre les journaux, les jours. (Minimum 1 jour, si défini – en ignorant la valeur système)
status Affiche les statistiques par tables de journal
help Fournit de l’aide
Exemple d’utilisation : php log.php -- clean
Si vous souhaitez conserver un journal de 3 jours :
Exemple d’utilisation : php log.php -- clean --days 3

Eh bien, c’est à peu près tout. J’espère avoir ajouté à vos connaissances et j’espère que cet article vous a aidé à accomplir vos tâches de manière plus efficace et efficiente, en particulier en ce qui concerne la compilation, l’indexation et le nettoyage des journaux de Magento.

Similaire  Est-ce la meilleure passerelle pour Shopify ?

Si vous avez des commentaires ou des suggestions sur le script shell php, faites-le moi savoir en utilisant la section des commentaires ci-dessous.

Obtenez des serveurs cloud Magento super rapides sur Cloudways

La beauté de la plateforme Cloudways Click&Go est qu’elle vous permet de faire presque tout avec votre environnement Magento. En utilisant le terminal SSH, vous pouvez exécuter ces scripts sur votre cloud Magento serveur. Si vous n’utilisez pas la plateforme Click&Go, démarrez un essai gratuit à partir de la bannière ci-dessous et découvrez tout ce que nous avons à offrir.

Avis client sur

« Grande vitesse, fonctionnalités, base de connaissances, tableau de bord, UX et assistance rapide et experte. Très heureux! »

Stéphane [Management Consultant]

×

Recevez notre newsletter
Soyez le premier à recevoir les dernières mises à jour et tutoriels.

Merci de nous avoir abonné !