Je cherche un détaillé instructions de configuration pour un projet de plugin dans PhpStorm avec tout le confort souhaité, comme un déploiement rapide sur un site de test, le débogage, etc.
Je vais commencer par décrire la structure actuelle de notre projet et ses problèmes.
Le dossier de projet (où il est extrait de notre système de contrôle de version) est, par exemple, C:\Projects\sampleplugin
. Le site de test est C:\wamp\www\wpsite
; le plug-in est donc déployé sous le nom C:\wamp\www\wpsite\wp-content\plugins\sampleplugin
.
Une autre chose importante est que je dispose d’une installation propre et décompressée de WordPress mappée en tant que bibliothèque PHP dans mon projet PhpStorm afin que je reçoive des conseils de code, etc. La bibliothèque PHP ressemble à quelque chose comme: C:\wpsources\4.0
.
Dans PhpStorm, j'ai configuré un déploiement (Paramètres> Déploiement) comme ceci:
c:\wamp\www\wpsite
http://localhost/wpsite
C:\Projects\sampleplugin
wp-content\plugins\sampleplugin
/
Ce déploiement fonctionne bien.
Cependant, je ne sais pas comment configurer le débogage (pour que cela fonctionne). J'ai ceci dans Paramètres> PHP> Serveurs:
localhost
, port 80
, débogueur Xdebug
C:\Projects\sampleplugin
-> c:\wamp\www\wpsite\wp-content\plugins\sampleplugin
C:\wpsources\4.0
-> c:\wamp\www\wpsite
Mais le débogage ne fonctionne pas, l'environnement distant Valider dans cette boîte de dialogue ne fonctionne pas, etc.
Est-ce que l’un d’entre vous a une configuration totalement opérationnelle où vous pouvez faire des choses comme déboguer votre plugin, entrer dans le code WP etc.?
Je suppose que vous avez déjà suivi les tutoriels sur la configuration de xDebug sous PHP installation et PhpStorm. Faites-moi savoir si vous avez besoin d'aide avec cela.
J'utilise xDebug Helper extension sur Chrome. Installez-le aussi.
Avec l'extension installée:
Run
> Start Listening for PHP Debug Connections
.Allez sur Chrome et sélectionnez Debug
dans le petit insecte.
Actualisez votre page.
De retour dans PhpStorm, acceptez la connexion entrante.
Profitez du débogage de votre code.
J'ai triché en vérifiant mon plugin dans le répertoire des plugins wordpress (je ne me souviens pas si j'ai essayé un lien sim ou non), en ouvrant un projet PHPStorm sur l'ensemble de l'installation wordpress et en déboguant à partir de là.
Peut-être pas ce que tu voulais mais j'étais opérationnel en 5 minutes.
J'utilise PHPStorm et tout ce que vous décrivez devrait fonctionner. La seule chose à faire est d’installer et de configurer xdebug via wamp pour être sûr qu’il fonctionne.
Ma configuration n'est pas entièrement fonctionnelle, donc ce n'est pas vraiment une réponse ... mais je voulais partager mes réflexions et quelques informations sur ce que j'ai essayé de mettre en place jusqu'à présent.
Ma configuration était à peu près la même que celle décrite par Borek.
Avec cette configuration, lorsque je tente de valider, je reçois le message d'erreur suivant:
"Échec de l'exécution du script de validation: 'Impossible de lire à partir de" http: //testing.localhost/_intellij_phpdebug_validator.php "car il ne s'agit pas d'un fichier.
Le "chemin d'accès local pour créer le script de validation" était défini sur C:\sources\my_plugins\plugins\privateer-page-types (la source du plug-in).
Évidemment, il cherche au mauvais endroit et j'ai donc modifié le mappage comme suit (Paramètres> Construire, Exécution, Déploiement> Déploiement):
Je l'ai fait lorsque j'ai compris que le chemin Web était censé être le chemin Web du projet sur le serveur.
Une fois que j'ai fait cela, allez dans Paramètres> Langues et cadres> PHP> Serveurs et en sélectionnant Valider, j'avais la configuration suivante:
Cliquez sur valider maintenant pour afficher correctement le fichier php.ini, xdebug, l'hôte distant, etc.
J'ai ensuite mis en place une configuration Run/Debug:
Au démarrage du débogueur, il se trouve en attente de la connexion entrante avec la clé ide 16907 mais ne remarque jamais la connexion.
J'ai essayé de changer le port de 9000 à 8080 sous Paramètres> Langages et Frameworks> PHP> Déboguer> Xdebug.Debug port ... ce qui a ensuite empêché xdebug de démarrer car phpstorm est configuré pour utiliser xdebug sur 8080 (Paramètres> Construire, Exécution, Déploiement> Débogueur).
À ce stade, les choses semblent devoir fonctionner, mais pour une raison quelconque, je ne peux pas aller au-delà de "l'écoute".
J'ai essayé une configuration (notée ci-dessus) avec l'URL de départ sous la forme /, une avec l'URL de début sous la forme index.php et une autre avec l'URL de départ comme fichier plugin principal ... le tout avec le même résultat.
Quoi qu'il en soit, cela aidera peut-être quelqu'un ... et si je le fais enfin fonctionner, je ferai une mise à jour.