Question

Je joue avec une application de blog PHP en utilisant un service d'hébergement partagé, dans le cadre de mon processus d'apprentissage de PHP. Le fournisseur de services dispose d’un environnement LAMP typique avec accès ssh distant.

Vim a été mon meilleur ami pour explorer le code PHP. Cependant, je trouvais parfois difficile de retrouver des éléments dans le code en cas d'erreur. Par exemple, je visite parfois une page et j’obtiens une réponse vide sans aucun message d’erreur. Comment dois-je procéder pour le déboguer? Des outils qui vous seront utiles?

Mon expérience a principalement été en C / C ++, en Perl et en programmation CGI. Donc, PHP est une expérience très rafraîchissante avec moi: -)

Au cas où cela serait important, l'application sur laquelle je joue est Lyceum , ce que je ne fais pas. avoir beaucoup de choix sur l'environnement LAMP lui-même.

EDIT: Les logiciels libres sont préférés: -)

Était-ce utile?

La solution

Je suppose que votre fournisseur d'hébergement a configuré son installation PHP avec display_errors est désactivé, ce qui est une bonne chose. C'est pourquoi vous voyez des pages blanches. La solution la plus pratique pour le moment serait donc d’avoir un fichier .htaccess qui l’allume:

php_flag display_errors on

Vous aurez également besoin de error_reporting à une valeur appropriée:

php_flag error_reporting "E_ALL | E_STRICT"

Quoi qu'il en soit, n'oubliez pas de désactiver cette option avant de permettre aux utilisateurs d'accéder à votre site Web.

Pour un débogage avancé, je vous recommande Xdebug installé sur le serveur avec Eclipse PDT ou IDE NetBeans avec support PHP en tant qu'éditeur. Ils sont tous deux de bons clients pour le débogage, mais je doute vraiment que tout fournisseur installerait Xdebug sur leurs serveurs en direct. Il ne vous reste donc pratiquement plus que des fonctions de journalisation si vous n’avez pas d’environnement de développement.

Autres conseils

Si vous avez accès à votre propre environnement de développement local (via XAMPP, par exemple), vous pourrez installer XDebug.

PhpEd vous permettrait de le déboguer, mais également de l’environnement PDT d’Eclipse.

Erreur Le traçage et la journalisation via l'édition du fichier de configuration ini de php constituent également un bon moyen, en particulier si vous pouvez le gérer pour enregistrer des informations. Pensez également à ajouter des instructions de trace et à utiliser FirePHP, par exemple.

Personnellement, je recommanderais jEdit plutôt que vim. Le plug-in SFTP vous permet d'éditer (bien, de charger et de sauvegarder) les documents PHP directement sur le serveur et le plug-in PHPParser vous donnera une reconnaissance d'erreur.

De plus, si vous obtenez une page vierge sans message d'erreur, il est fort probable que ces messages ne vous soient pas cachés. Assurez-vous que le signalement des erreurs est activé, soit dans votre config. ou dans votre code comme ceci:

// Report all PHP errors
error_reporting(E_ALL);

Si le rapport d'erreur est activé et que vous ne voyez toujours aucun message, activer la journalisation ou sortie vers le navigateur .

Si vous obtenez une page vierge, c'est probablement à cause d'une erreur fatale, avec display_errors désactivé. Par défaut, PHP consigne les erreurs dans Apaches error-log, mais vous pouvez également le configurer sur enregistrez les erreurs dans un journal séparé .

Pour le débogage, vous pouvez également regarder dans Xdebug. Cette extension peut faire beaucoup de choses, y compris le débogage interactif. Vous aurez besoin d’un client pour utiliser le débogueur, mais il existe un plugin pour vim qui le fait.

Essayez NuSphere PhpED

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top