Więc, po przejściu przez Jeffry na Bądź fantastyczny w PhpStorm, że został zatrzymany w podobnej sytuacji do OP (w rozdziale dotyczącym Xdebug i laravel). Przygotowywałem punkty przerwania, ale PhpStorm nie był w stanie przerwać wykonania zgodnie z tymi punktami. I, szczerze mówiąc, odpowiedź Josha nieco pomogła mi zrozumieć problem, ale nie była dla mnie wystarczająco jasna. Wyszedłem więc i znalazłem rozwiązanie samodzielnie metodą trafienia i próby, której ostateczne rozwiązanie chcę udostępnić. Może się przydać, niektórzy wciąż się zastanawiają.
Po pierwsze, zgodnie z OP/guessed, php artisan server
ma użyć innego serwera. Jest to wbudowany w PHP serwer WWW plus plik routera server.php. A konfiguracje, których używa, to konfiguracje interfejsu CLI. Wypróbuj php --ini
, aby znaleźć wszystkie zawarte konfiguracje.
W moim przypadku (Ubuntu 17.10) dołączony plik konfiguracyjny Xdebug pochodził z lokalizacji /etc/php/7.2/cli/conf.d/20-xdebug.ini
.Dodałem drugą linię, aby umożliwić zdalne Xdebug a teraz plik wygląda to z łącznie 2 linie:
zend_extension=xdebug.so xdebug.remote_enable=1
teraz do konfiguracji PhpStorm:
Run
>Edit Configurations
i dać dowolną nazwę lub tylko pozostawić go jako Nienazwana
- Click
...
po Server: opcja
- Kliknij
+
i nadać dowolną nazwę (na przykład laravel App)
- Ustaw Host jak
localhost
, Port jako 8000
i Debugger jako Xdebug
i pozostawiać żadnych innych znaków wyboru niezaznaczone!
- Kliknij
Apply
/OK
- Z rozwijanej listy Server down: wybrać jedną po prostu skonfigurować.
- Ustaw URL start: URL, pod którym chcesz rozpocząć debuging (np
\user
)
- Wybierz przeglądarkę wolisz.
- Kliknij
Apply
/OK
Proszę pamiętać, że debugger będzie działać dopiero po faktycznym rozpoczęciu serwer internetowy, który jest serwerem, który rozpoczyna się od polecenia php artisan server
.
Uruchom teraz serwer WWW, np. php artisan serve
iw PhpStorm kliknij Run
>Debug 'your-debug-config'
, a wszystko powinno działać poprawnie!
'php rzemieślnik służyć' ** nie ** używać innego serwera, dokładniej [wbudowany serwer sieciowy PHP] (http://php.net/manual/en/features.commandline.webserver.php). – Bogdan
Ok, dzięki @Bogdan, ale czy wiesz, co muszę zrobić, aby debugować wbudowany serwer WWW PHP? Albo muszę przenieść wszystko na mój serwer apache ... Dzięki! – chemitaxis
Nie próbowałem tego do tej pory, ale spróbuj przejrzeć dokumentację [PHPStorm] (https://www.jetbrains.com/phpstorm/help/php-built-in-web-server.html) na ten temat . – Bogdan