Apache не загружает Xdebug, но запускается из командной строки - PullRequest
11 голосов
/ 05 февраля 2010

Я знаю, что это звучит странно, но поверьте мне, это то, что происходит. Вот мои настройки системы:

Windows7
Apache 2.2
PHP 5.2.12
Xdebug 2.0.5

В моем файле PHP.ini настроен XDebug. Когда я запускаю php -m, я вижу, что Xdebug загружен. Теперь, если я запускаю Apache КАК СЕРВИС (или через Apache Monitor) и запускаю phpinfo (), он НЕ показывает Xdebug как загруженный.

Однако (теперь это самая сумасшедшая часть), если я иду в свой каталог bin Apache и просто запускаю httpd.exe, а затем иду и смотрю на phpinfo (), Xdebug теперь отображается как загруженный!

Кроме того, сравнивая некоторые функции phpinfo () при запуске через службу или из командной строки, создается впечатление, что файл php.ini одинаков для обоих случаев. Все выглядит одинаково, за исключением загружаемой части Xdebug.

Пожалуйста, если у вас есть какие-либо идеи, мы будем очень благодарны.

Ответы [ 6 ]

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

Недавно я столкнулся с той же проблемой, но мне пришлось урезать SELinux, чтобы разрешить httpd доступ к модулю xdebug.so:

chcon -v -R --type=httpd_sys_content_t /path/to/your/xdebug.so

Перезапустил httpd и все заработало как положено.

0 голосов
/ 24 июля 2013

Майк Перселл, у вас было ПОЧТИ все правильно ...

В новых дистрибутивах Red Hat и других Linux включен SELinux (сосет большой) и блокирует порожденных Apache дочерних элементов (таких как xdebug.so)от определенных действий, таких как доступ к Интернету.

Таким образом, вам нужно отключить SElinux, используя:

vi /etc/selinux/config 

SELINUX=disabled

, поэтому и перезагрузитесь, это отключит SE Linux, и X-Debug начнет работать... Убил целый день из-за этого, надеюсь, это кому-то поможет ..

Так же настроены серверы Amazon EC2 и AWS Linux ...

Шон.

0 голосов
/ 24 июля 2012

У меня была эта проблема, и я обнаружил, что это вызвано тем, что в моем php.ini вместо обратной косой черты были слеши. Так что постарайтесь: C: \ PHP \ вн \ xdebug.dll вместо C: /php/ext/xdebug.dll

0 голосов
/ 24 октября 2010

Возможно, это ошибочная версия / комбинация. У меня была другая проблема (XDebug не распознавал некоторые переменные), проблема исчезла, когда я до 2.1.0.

http://xdebug.org/download.php

0 голосов
/ 22 октября 2010

Обычно существуют разные файлы конфигурации для каждого возможного способа вызова экземпляра php: HTTP / CLI и т. Д. (По крайней мере, это может иметь место в * nix)

Я бы предложил выполнить поиск в вашей системе php * ini и посмотреть, есть ли у вас несколько файлов с разными / отсутствующими настройками Xdebug.

0 голосов
/ 23 марта 2010

У меня была похожая проблема с Xdebug в Windows / IIS - php -m показал модуль как загруженный, а phpinfo () - нет. Оказалось, проблема с разрешениями - как только я установил xdebug .dll для предоставления доступа на чтение анонимным пользователям, он начал работать. Я бы проверил разрешения для этого .dll, чтобы убедиться, что любой пользователь Apache, который имеет доступ, имеет к нему доступ.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...