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 должен быть загружен перед любым другим расширением, поэтому для решения этой проблемы сделайте следующее:

  1. Перейти к /etc/php5/conf.d
  2. тип mv ioncube.ini 01-ioncube.ini
  3. перезапустите сервис apache apache2 перезапустите
  4. Наслаждайтесь с 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.

Другие вопросы по тегам