2012-11-20 2 views
2

Я смог Xdebug работает на PhpStorm под Ubuntu 12,10 и PHP5.4 Мне кажется, что все включено, но IDE не останавливается на точки останова. Ниже приведены соответствующие параметры.Ubuntu/PhpStorm/Xdebug

Может кто-нибудь посмотреть на параметры, чтобы увидеть Что мне не хватает? Мне интересно, нужно ли xdebug.remote_enable быть включенным. Я отлаживаю локальный файл. Корни сервера и пути проекта одинаковы.

Если мне нужно изменить параметры PHP54 xdebug, где, черт возьми, я делаю это в ubuntu?

Я добавил следующее в /etc/php5/apache2/php.ini, перезапустил apache, но они, похоже, игнорируются.

xdebug.remote_enable=1 
xdebug.remote_port=9000 
xdebug.remote_handler="dbgp" 
xdebug.remote_host="localhost" 

PHP - я выход

/etc/php5/cli/conf.d/20-xdebug.ini 
xdebug 
xdebug support => enabled 
xdebug.auto_trace => Off => Off 
xdebug.cli_color => 0 => 0 
xdebug.collect_assignments => Off => Off 
xdebug.collect_includes => On => On 
xdebug.collect_params => 0 => 0 
xdebug.collect_return => Off => Off 
xdebug.collect_vars => Off => Off 
xdebug.coverage_enable => On => On 
xdebug.default_enable => On => On 
xdebug.dump.COOKIE => no value => no value 
xdebug.dump.ENV => no value => no value 
xdebug.dump.FILES => no value => no value 
xdebug.dump.GET => no value => no value 
xdebug.dump.POST => no value => no value 
xdebug.dump.REQUEST => no value => no value 
xdebug.dump.SERVER => no value => no value 
xdebug.dump.SESSION => no value => no value 
xdebug.dump_globals => On => On 
xdebug.dump_once => On => On 
xdebug.dump_undefined => Off => Off 
xdebug.extended_info => On => On 
xdebug.file_link_format => no value => no value 
xdebug.idekey => no value => no value 
xdebug.max_nesting_level => 100 => 100 
xdebug.overload_var_dump => On => On 
xdebug.profiler_aggregate => Off => Off 
xdebug.profiler_append => Off => Off 
xdebug.profiler_enable => Off => Off 
xdebug.profiler_enable_trigger => Off => Off 
xdebug.profiler_output_dir => /tmp => /tmp 
xdebug.profiler_output_name => cachegrind.out.%p => cachegrind.out.%p 
xdebug.remote_autostart => Off => Off 
xdebug.remote_connect_back => Off => Off 
xdebug.remote_cookie_expire_time => 3600 => 3600 
xdebug.remote_enable => Off => Off 
xdebug.remote_handler => dbgp => dbgp 
xdebug.remote_host => localhost => localhost 
xdebug.remote_log => no value => no value 
xdebug.remote_mode => req => req 
xdebug.remote_port => 9000 => 9000 
xdebug.scream => Off => Off 
xdebug.show_exception_trace => Off => Off 
xdebug.show_local_vars => Off => Off 
xdebug.show_mem_delta => Off => Off 
xdebug.trace_enable_trigger => Off => Off 
xdebug.trace_format => 0 => 0 
xdebug.trace_options => 0 => 0 
xdebug.trace_output_dir => /tmp => /tmp 
xdebug.trace_output_name => trace.%c => trace.%c 
xdebug.var_display_max_children => 128 => 128 
xdebug.var_display_max_data => 512 => 512 
xdebug.var_display_max_depth => 3 => 3 
+0

Сделать сценарий с 'phpinfo()', чтобы проверить, что xdebug включен на сервере, затем следуйте [этому руководству] (http://blog.jetbrains.com/webide/2011/02/zero-configuration-debugging -с-Xdebug-и-PhpStorm-2-0 /). – CrazyCoder

+0

Вы установили с помощью 'apt-get install php5-xdebug'? Или вы сами связали это вместе? –

+2

Я добавил 4 строки в 1-м блоке выше /etc/php5/mods-available/xdebug.ini, и это заработало. Счастливый кемпер сейчас. – EdgeCase

ответ

4

"PHP -i" в командной строке используется другой файл php.ini (/etc/php5/cli/php.ini), чем апач делает (/etc/php5/apache2/php.ini). Убедитесь, что вы проверили phpinfo() через браузер, чтобы узнать, установлен ли xdebug.remote_enable. Вывод phpinfo() также сообщает вам, какие файлы INI были загружены, поэтому проверьте там.

В общем случае для расширений вы хотите поместить файлы конфигурации для расширений в/etc/php5/mods-available - в этом случае вы должны создать /etc/php5/mods-available/xdebug.ini с помощью только :

xdebug.remote_enable=1 

в нём. Все остальные настройки должны быть оставлены нетронутыми (так как они все равно являются значениями по умолчанию).

1

Еще один намек, который помог некоторое время назад. У меня был ubuntu на виртуальной машине, а порт 9000 был занят, а точки останова не попали в PhpStorm. Поэтому я пишу это:

xdebug.remote_port=9001 

А также тот же порт должен быть в конфигурации PhpStorm Debug. Надеюсь, это поможет кому-то сэкономить время.