Apache продолжал работать после установки Xdebug. Ошибка загрузчика Ioncube
У меня есть локальная установка Ubuntu Server 12.10 через VirtualBox для моих целей программирования PHP.
Недавно я установил Xdebug следующим образом:
sudo apt-get install php5-xdebug
Затем добавил путь 'xdebug' в мой /etc/php5/apache2/php.ini:
zend_extension=/usr/lib/php5/20100525+lfs/xdebug.so
Затем я перезапустил Apache. И это застряло. Мои локальные сайты не загружаются. "Php -v" (как и "php -m") говорит:
Неустранимая ошибка PHP: [ionCube Loader] Загрузчик должен отображаться как первая запись в файле php.ini в поле Неизвестно в строке 0.
Дело в том, что у меня не установлен Ioncube. Я пытался погуглить это сообщение об ошибке, но везде говорили, что, похоже, неправильно установлен Ioncube или что-то с несовместимостью xdebug и ioncube. Но у меня вообще не установлено inocube!
Что случилось? Как я могу заставить мой apache снова жить? Проекты горят:(
ОБНОВИТЬ:
Я нашел причину. Похоже, в пакете php5-xdebug есть встроенное исправление для несовместимости ioncube-xdebug. Когда я установил его, я получил файл /etc/php5/conf.d/ioncube.ini, где ioncube включен как расширение Zend. Я получил этот файл с пакетом php5-xdebug. Поэтому я удалил этот файл и Apache стал живым.
2 ответа
Ioncube должен быть загружен перед любым другим расширением, поэтому для решения этой проблемы сделайте следующее:
- Перейти к /etc/php5/conf.d
- тип mv ioncube.ini 01-ioncube.ini
- перезапустите сервис apache apache2 перезапустите
- Наслаждайтесь с ioncube и xdebug:)
Прокомментируйте загрузчик ioncube в установочных папках apache и переместите его в блок расширений в php.ini, чтобы он выглядел так:
zend_extension = /usr/lib/php5/20090626+lfs/ioncube_loader_lin_5.3.so
zend_extension = /usr/lib/php5/20090626+lfs/xdebug.so
По сути, вы должны сначала загрузить ioncube, а затем - xdebug.