Как мне профилировать Codeigniter Web App с помощью XDebug? - PullRequest
0 голосов
/ 29 февраля 2012

Я использую XDebug в Linux CentOS.Я хочу профилировать страницы в веб-приложении, созданном с помощью CodeIgniter и обслуживаемом Apache.

XDebug включен в php.ini со следующими настройками:

zend_extension=/usr/lib64/php/modules/xdebug.so
xdebug.profiler_enable = 1
xdebug.profiler_output_dir = /tmp/xdebug

Все отлично работает, когда я запускаюСценарии php из командной строки и журналы профилей XDebug записываются в / tmp / xdebug, как и ожидалось.Когда я загружаю URL-адрес из веб-приложения через браузер, XDebug не создает никаких файлов журнала профиля.

Кто-нибудь заставлял XDebug работать с Codeigniter?Из того, что я могу сказать, мне не нужно было запускать профилирование XDebug через GET в URL, потому что profiler_enable включен для всех сценариев php, хотя я пробовал это и, похоже, тоже не работает.

Ответы [ 2 ]

0 голосов
/ 29 февраля 2012

Apache должен иметь разрешения на запись в папку / tmp / xdebug.

sudo chown -R apache:apache /tmp/xdebug

XDebug теперь может профилировать загрузку страницы Codeigniter из браузера.

Спасибо @J.Бруни.

0 голосов
/ 29 февраля 2012

Мне кажется, что проблема не связана с CodeIgniter ... Кажется, у вас может быть несколько php.ini файлов ...

В моей установке Ubuntu у меня есть несколько подкаталогов внутри *Каталог 1004 *: cgi, cli, fpm и т. Д. Каждый из них содержит файл php.ini, который относится к одному «режиму».

Другими словами: PHP может иметь несколько разных php.ini файлов ... один для CLI (командная строка), другой для CGI и т. Д. *

Возможно, строки конфигурации xdebug, которые вы вставили вышенаходятся не в файле php.ini, используемом при доступе к PHP-сценариям из браузера.Возможно, вы добавили эти строки в /etc/php5/cli/php.ini вместо /etc/php5/cgi/php.ini (или другого ... в моей настройке, это /etc/php5/fpm/php.ini, потому что я использую php-fpm)

...