Erreur lors de l'exécution de script.php: le port 9000 est occupé
J'ai mis php.ini
et Debug config
dans phpstorm
. Essayez de déboguer un script php sorties dans phpstorm journal d'Événements:
"Error running script.php: Port 9000 is busy"
fin de php.ini:
[XDebug]
zend_extension="/usr/lib/php5/20090626+lfs/xdebug.so"
xdebug.remote_enable=1
xdebug.remote_port="9000" (the default port is 9000)
xdebug.profiler_enable=1
xdebug.profiler_enable_trigger = 1
xdebug.profiler_output_dir="/etc/php5/xdebug/profiler_output_dir"
Port de débogage dans pStorm est également mis sur l'9000. netstat -na
sorties avec:
tcp 0 0 127.0.0.1:9000 0.0.0.0:* LISTEN
Ce que si je me mets à autre port. par exemple le paramètre 10001
semble faire le travail. Ou tout simplement comment le faire fonctionner correctement. Je ne suis pas sûr si je comprends comment les xDebug
œuvres. Son envie de courir Debug("script.php")(Shift+F9)
dans phpstorm à définir un point d'arrêt dans le fichier ?
Est-ce que qqn a une idée ?
EDIT:
À partir de:
http://xdebug.org/docs/remote
xdebug.remote_port
Type: integer, Default value: 9000
The port to which Xdebug tries to connect on the remote host. Port 9000 is the default for both the client and the bundled debugclient. As many clients use this port number, it is best to leave this setting unchanged.
Ce que si je change de port pour les autres de 9000 ? Peut-être quelque chose de plus de 50k .
source d'informationauteur Jacob
Vous devez vous connecter pour publier un commentaire.
Le processus, qui est en cours d'exécution sur le port 9000, pourrait être PhpStorm lui-même.
Vérifier les ports utilisés comme Jacob mentionné (sur Windows cmd:
netstat -a -b
):Si PhpStorm.exe ist répertorié sous :9000 vous suffit de changer le port de serveur intégré dans paramètres > Construire, l'Exécution, le Déploiement > Débogueurpar exemple 63342 (c'est le réglage par défaut de mes coéquipiers PhpStorm de l'installation).
note pour l'avenir de l'auto:
Dans mon cas, cela a été causé par l'utilisation de la machine virtuelle de la redirection de port (vagrant sur Virtual Box). J'ai pensé transfert
9000
était une bonne idée.SOLUTION: se connecter à la VM IP
10.166.53.1
qui est le standard Virtual Boxcontenu de mon
/etc/php5/cgi/conf.d/xdebug.ini
Ne pourraient pas identifier avec lsof et netstat le pid du processus en cours d'exécution sur 9000 port. Temporaire de la solution la plus simple est juste de changer le port dans
phpstorm
etphp.ini
pour autre chose non utilisés (comme 10k).Première, même si elle est un peu hors sujet, je pense que ça aide. Je suis l'aide d'une interface réseau différente pour chaque docker-compositeur de projet. De cette façon, je peux la carte persistante du nom de domaine dans /etc/hosts sans aucun soucis, dans cet exemple est
192.168.33.102 project.domain.local
.Voici un exemple de configuration yaml:
Le php contenant écouter sur 9001 pour
php7.0-fpm
et sur 9000 pourxdebug
et ne pas exposer les ports.PhpStorm Port de Débogage est réglé par défaut 9000 et le serveur hôte est configuré pour
192.168.33.102
(ou de la valeur à partir de /etc/hosts, qui estproject.domain.local
).Comme on peut le voir dans les ports de php conteneur, un autre mappage de port est fixé à 10000, il peut être n'importe quelle valeur différente de 9000, pour supprimer le occupé erreur de PhpStorm.
Aussi, il est important de lier le port sur le panneau-composer. Il n'a pas travaillé sans mappage de port et il ne fonctionne pas avec 9000:9000.
Espère que cela aide quelqu'un d'autre!
PS: voici le xdebug.ini: