Phpspec + phpstorm + docker!
Questo post vuole essere più un memorandum che un articolo, dopo tanta fatica sono riuscito a configurare phpstorm per ricevere in ingresso il debug di phpspec da un container docker.
Come lancio la mia test suite?
la mia test suite viene lanciata direttamente su un container con php e phpspec installato che accede alla busybox con l’applicazione e con entripoint pari a /project_folder/bin/phpspec.
Il comando per il lancio della test suite è
docker-compose run — rm phpspec runConfigurazione dell’ambiente php del mio container
Il container che contiene phpspec ha una versione di php 5.6 con le seguenti configurazioni
xdebug.remote_enable=1
xdebug.remote_handler=dbgp
xdebug.remote_mode=req
xdebug.remote_host=MIO IP
xdebug.remote_port = 9123
xdebug.remote_connect_back=1
xdebug.remote_autostart=1
xdebug.idekey=PHPSTORM
xdebug.default_enable = 1
xdebug.remote_autostart = 1
xdebug.collect_params=1
xdebug.remote_log="/var/www/log_folder"Configurazione di phpstorm
Configurare le connessioni in ingresso
La prima cosa da fare è configurare su php le connessioni remote in ingresso, per farlo andare nella barra del menù e cliccare su Tools > BDGp proxy > Configuration inserire come abbiamo configurato nel php.ini del container l’ idekey PHPSTORM, l’IP e la PORTA.
Creare Una configurazione server su phpstorm
Adesso andiamo nella Main Toolbar nella parte delle run actions
Apro la tendina e clicco su edit configurations, una volta aperta la maschera, clicco su + e scelgo tra le voci PHP Remote Debug.
Get Brainrepo.com’s stories in your inbox
Join Medium for free to get updates from this writer.
La prima cosa è creare un server,
Clicchiamo sui … a fianco della voce servers e configuriamo il nostro server, laparte più importante è spuntare Use path mappings e mappare la root del nostro codice sulla macchina locale nella con il path nel container.
A questo punto clicchiamo su apply.
Una volta ritornati nella scheda Run/Debug configurations diamo un nome alla configurazione e inseriamo il nostro Idekey che è PHPSTORM.
Facciamo una prova
Adesso possiamo iniziare con il debug, dopo aver inserito dei breakpoint nel codice, basta cliccare sul pulsante debug (il simpatico scarafaggio verde) e lanciare il nostro container con i test (o per meglio dire gli esempi visto che stiamo usando phpspec).
docker-compose run — rm phpspec runQuesto è tutto.
Se ya!






