Настроих Xdebug на локален екземпляр на Vagrant, работещ с Ubuntu. Работи според очакванията и мога да настроя точки на прекъсване в приложението си.
Имам сценарий, при който приложението прави заявка към вътрешен API. Вътрешният API е на същия сървър и същата кодова база.
Илюстрация на дърво
codebase/
app/
root
api/
root
Приложението е достъпно като https://local.myapplication.com, а API е достъпен локално като http://local.api.myapplication.com).
Ако сега задам точка на прекъсване в някакъв код за API и след това посетя https://local.myapplication.com/some/action/that/triggers/the/api/code точката на прекъсване се задейства само ако не инициализирам Xdebug сесията за първото приложение, т.е. не е зададен параметърът на заявката XDEBUG_SESSION_START
. Ако е зададено, моята точка на прекъсване се игнорира.
Това има известен недостатък. Ако имам точка на прекъсване в приложението и API, не мога да задействам и двете в момента. Или мога да задействам точките на прекъсване на приложението или точките на прекъсване на API.
Използвам Sublime Text 3 с плъгина https://github.com/martomo/SublimeTextXdebug. Моите настройки за Xdebug в php.ini
са:
zend_extension="/usr/lib/php5/20090626/xdebug.so"
xdebug.remote_enable=1
xdebug.remote_host=192.168.3.1
xdebug.remote_port=9000
xdebug.remote_log="/tmp/php5-xdebug.log"
Това поправимо ли е? Всички отговори/коментари се оценяват!