PHP Xdebug для OS X 10.9 Mavericks

У меня возникли проблемы с настройкой среды разработки PHP на OS X после установки OS X 10.9 Mavericks.

Вот команда, которую я использую для установки.

sudo pecl install xdebug downloading xdebug-2.2.3.tgz ... Starting to download xdebug-2.2.3.tgz (250,543 bytes) .....................................................done: 250,543 bytes 66 source files, building running: phpize grep: /usr/include/php/main/php.h: No such file or directory grep: /usr/include/php/Zend/zend_modules.h: No such file or directory grep: /usr/include/php/Zend/zend_extensions.h: No such file or directory Configuring for: PHP Api Version: Zend Module Api No: Zend Extension Api No: Cannot find autoconf. Please check your autoconf installation and the $PHP_AUTOCONF environment variable. Then, rerun this script. ERROR: `phpize' failed 

У кого-нибудь есть решение или обходное решение?

Related of "PHP Xdebug для OS X 10.9 Mavericks"

Быстрый способ копирования вставки

 sudo sh -c 'echo zend_extension=$(find /usr/lib/php/extensions -name "xdebug.so") >> $(php -qr "echo php_ini_loaded_file();") && apachectl restart' 

Эта команда выполняет следующие действия:

  • Находит собственное расширение Xdebug, которое поставляется с Xcode
  • Asks php загружает файл конфигурации
  • Добавляет путь расширения Xdebug в файле конфигурации
  • Перезапускает apache.

Совместим с Sierra, El Capitan & Yosemite с пакетом apache, но не тестировался с MAMP & XAMPP.

Перед запуском команды убедитесь, что установлены инструменты командной строки Xcode: xcode-select --install

Не знаю об использовании pecl . Получение Xdebug после установки OS X довольно просто без pecl . У вас есть два простых варианта:

  1. Используйте версию, уже имеющуюся по адресу:

     /usr/lib/php/extensions/no-debug-non-zts-2010052/xdebug.so 
  2. Построй свой собственный:

    1. Убедитесь, что у вас есть инструменты Xcode CLI: xcode-select --install предложит вам установить инструменты CLI. С установленными инструментами CLI внутри /usr/include/php должно быть /usr/include/php .

    2. Перейдите на страницу http://xdebug.org/download.php и загрузите исходный архив для версии Xdebug, которую вы хотите. Например: http://xdebug.org/files/xdebug-2.2.3.tgz .

    3. Извлеките tarball и cd в каталог, который он создал. Внутри этого каталога вы увидите README . Отсюда:

       $ phpize Configuring for: PHP Api Version: 20100412 Zend Module Api No: 20100525 Zend Extension Api No: 220100525 $ ./configure --enable-xdebug checking for grep that handles long lines and -e... /usr/bin/grep checking for egrep... /usr/bin/grep -E checking for a sed that does not truncate output... /usr/bin/sed [... output ...] $ make [... output ...] 

xdebug.so ваш встроенный xdebug.so находится в modules/xdebug.so . phpize имеет решающее значение для установки установленных инструментов XCode CLI, поскольку phpize устанавливает параметры сборки для вашей версии PHP.

С помощью xdebug.so в руке из (1) или (2) выше вы можете добавить этот блок в php.ini который используется вашим php или php-fpm :

 [Xdebug] zend_extension=<full_path_to_xdebug.so> xdebug.remote_enable=1 xdebug.remote_host=<host running PHP (eg localhost)> xdebug.remote_port=<port Xdebug tries to connect to on the host running PHP (default 9000)> 

Здесь есть два вопроса. Во-первых, вам нужно установить инструменты командной строки Xcode с помощью команды:

 xcode-select --install 

Это будет означать, что файлы, ранее не найденные в /usr/include/php/ будут доступны.

Следующим шагом будет установка autoconf же, как показывает Арес в его ответе .

Сначала я cd бы в папку загрузки

 cd ~/Downloads/ curl -OL http://ftpmirror.gnu.org/autoconf/autoconf-latest.tar.gz tar xzf autoconf-latest.tar.gz cd autoconf-* ./configure --prefix=/usr/local make sudo make install 

теперь вы можете запустить pecl install

 sudo pecl install xdebug 

Если вы используете Mac Yosemite 10.10, ни одна из вышеперечисленных ответов не решила проблему. Выполните следующие действия:

  1. Открыть терминал

  2. Выполните find /usr/lib/php/extensions -name "xdebug.so" чтобы узнать путь к библиотеке отладки.

  3. Выполнить sudo nano /etc/php.ini для открытия и редактирования файла php.ini
  4. В php.ini добавить следующие строки в конце

     [XDebug] zend_extension="/usr/lib/php/extensions/no-debug-non-zts-20121212/xdebug.so" xdebug.remote_enable=1 xdebug.remote_handler=dbgp xdebug.remote_mode=req xdebug.remote_host=127.0.0.1 xdebug.remote_port=9000 

(Когда закончите, введите control+o для сохранения и control+x чтобы закрыть файл)

(Не забудьте заменить значение в zend_extension на все, что вы получили от первой команды терминала)

  1. Выполнение sudo apachectl restart для загрузки новой конфигурации
  2. Успокойтесь и расслабьтесь

Для тех, кто сталкивается с этой проблемой, мне пришлось строить autoconf из источника. Я выполнил этот ответ из другого вопроса StackOverflow.

https://stackoverflow.com/a/12333230/2272004

Для проблемы с ошибкой phpize попробуйте решить эту проблему: sudo ln -s /Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.9.sdk/usr/include / usr / включают

Мне пришлось brew install xdebug и выбрать для моей версии PHP, и это сработало! Например,

 brew install homebrew/php/php56-xdebug 

Для варианта версии PHP 5.6.