У меня возникли проблемы с настройкой среды разработки 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
У кого-нибудь есть решение или обходное решение?
Быстрый способ копирования вставки
sudo sh -c 'echo zend_extension=$(find /usr/lib/php/extensions -name "xdebug.so") >> $(php -qr "echo php_ini_loaded_file();") && apachectl restart'
Эта команда выполняет следующие действия:
Совместим с Sierra, El Capitan & Yosemite с пакетом apache, но не тестировался с MAMP & XAMPP.
Перед запуском команды убедитесь, что установлены инструменты командной строки Xcode: xcode-select --install
Не знаю об использовании pecl
. Получение Xdebug после установки OS X довольно просто без pecl
. У вас есть два простых варианта:
Используйте версию, уже имеющуюся по адресу:
/usr/lib/php/extensions/no-debug-non-zts-2010052/xdebug.so
Построй свой собственный:
Убедитесь, что у вас есть инструменты Xcode CLI: xcode-select --install
предложит вам установить инструменты CLI. С установленными инструментами CLI внутри /usr/include/php
должно быть /usr/include/php
.
Перейдите на страницу http://xdebug.org/download.php и загрузите исходный архив для версии Xdebug, которую вы хотите. Например: http://xdebug.org/files/xdebug-2.2.3.tgz .
Извлеките 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, ни одна из вышеперечисленных ответов не решила проблему. Выполните следующие действия:
Открыть терминал
Выполните find /usr/lib/php/extensions -name "xdebug.so"
чтобы узнать путь к библиотеке отладки.
sudo nano /etc/php.ini
для открытия и редактирования файла php.ini В 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 на все, что вы получили от первой команды терминала)
sudo apachectl restart
для загрузки новой конфигурации Для тех, кто сталкивается с этой проблемой, мне пришлось строить autoconf из источника. Я выполнил этот ответ из другого вопроса StackOverflow.
Для проблемы с ошибкой 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.