Admin/Dev

21
Nov.
2020

Tester un fichier PHP sans l'exécuter

Publié par sky

Voici un nouveau cas particulier, comme je les affectionne, en espérant que cela soit utile à quelqu'un. L'objectif est, ici, de tester un fichier PHP, sans l'exécuter. Évidemment, il ne sera pas possible tester le fonctionnement du code. Par contre, cela permettra d'en vérifier la syntaxe.

Cette action se fait avec la version en ligne de commande (CLI) de PHP, comme cela

php -l le/chemin/vers/mon/fichier/php 

Sans erreur, vous obtiendrez le résultat

No syntax errors detected in le/chemin/vers/mon/fichier/php 

Sinon, vous obtiendrez la liste des erreurs du fichier, et le message se terminera par

Errors parsing le/chemin/vers/mon/fichier/php 

Tester un fichier, c'est bien, en tester plusieurs, c'est mieux !

Profitons d'être dans un terminal pour utiliser ses capacités. Il est facile de tester un lot de fichiers avec les commandes find et exec, déjà vues dans cet article.

find le/chemin/vers/le/dossier/ -name "*.php" -exec php -l {} \;

La commande find va trouver tous les fichiers dont l'extension est .php dans les dossiers et sous-dossiers du dossier le/chemin/vers/le/dossier/. Puis, exec va tester les fichiers que renvoie find.

Pour tester un gros projet avec de très nombreux fichiers PHP, et éviter un résultat composé d'un trop grand nombre de lignes, il est possible d'utiliser

find le/chemin/vers/le/dossier/ -name "*.php" -exec php -l {} \; | grep "Errors parsing "

Ainsi, avec grep, seuls les fichiers avec erreurs vont ressortir, ainsi que les erreurs.

 
 
Commentaires
Aucun commentaire pour le moment.

 

Poster un commentaire
En postant sur skymac.org, je m'engage à être courtois et à ce que mon message soit pertinent avec le sujet de l'article.
En outre, j'accepte, sans condition, que mon message soit refusé et supprimé si ces règles ne sont pas appliquées.
Ouvrir le panneau de gestion des cookies
Fermer le panneau
Ce site utilise des cookies pour assurer son bon fonctionnement. Il utilise aussi des cookies issues de services tiers permettant de proposer des fonctionnalités avancées. À tout moment, vous pouvez choisir quels services vous souhaitez activer ou refuser, afin de retirer votre consentement quant à l'utilisation des cookies.
 
Personnalisation des services
Vous êtes libre de choisir quels services vous souhaitez activer. En autorisant ces services tiers, vous acceptez le dépôt et la lecture de cookies et l'utilisation de technologies de suivi nécessaires à leur bon fonctionnement. En retirant votre consentement pour certains de ces services, certaines fonctionnalités du site peuvent ne plus fonctionner.
Navigation du site  En savoir plus
Le site écrit un cookie de session permettant son bon fonctionnement et aidant à la navigation. Il ne peut être désactivé.
Utilisation : 1 cookie, enregistre l'identifiant de la session.
Durée de vie : Le cookie est présent pendant toute la session sur le site. Il devient obsolète après 24 minutes d'inactivité.
Obligatoire
Popup Média
Afficher des vidéos depuis Yoube ou Dailymotion.
 
Tout accepter Tout refuser Gérer