PHP Xdebug en OS X 10.9 Mavericks
osx-mavericks (7)
Tengo problemas para configurar mi entorno de desarrollo PHP en OS X después de instalar OS X 10.9 Mavericks.
Aquí está el comando que estoy usando para instalar.
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
¿Alguien tiene una solución o una solución?
¡Tuve que brew install xdebug
y elegir para mi versión de PHP y funcionó! Por ejemplo,
brew install homebrew/php/php56-xdebug
Para una variante de PHP versión 5.6.
Hay dos problemas aquí. La primera es que necesita instalar las herramientas de línea de comandos de Xcode con el comando:
xcode-select --install
Esto significará que los archivos que no se encontraron anteriormente en /usr/include/php/
estarán disponibles.
El siguiente paso es instalar autoconf
de la misma manera que muestra Ares en su respuesta .
Me gustaría cd
en su carpeta de descarga primero
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
ahora puedes ejecutar el comando pecl install
sudo pecl install xdebug
La forma rápida de copiar y pegar
sudo sh -c ''echo zend_extension=$(find /usr/lib/php/extensions -name "xdebug.so") >> $(php -qr "echo php_ini_loaded_file();") && apachectl restart''
Este comando hace lo siguiente:
- Encuentra la extensión nativa de Xdebug que viene con Xcode
- Pregunta a php qué archivo de configuración está cargado
- Agrega la ruta de la extensión Xdebug en el archivo de configuración
- Reinicia apache.
Compatible con Sierra, El Capitan y Yosemite con el apache empaquetado, pero no probado con MAMP y XAMPP.
Antes de ejecutar el comando, asegúrese de que las herramientas de línea de comandos de Xcode estén instaladas: xcode-select --install
No sé sobre el uso de pecl
. Obtener Xdebug después de una instalación de OS X es bastante sencillo sin pecl
. Tienes dos opciones fáciles:
Usa la versión ya disponible en:
/usr/lib/php/extensions/no-debug-non-zts-2010052/xdebug.so
Construye tu propio:
Asegúrese de tener las herramientas CLI de Xcode:
xcode-select --install
le pedirá que instale las herramientas CLI. Con las herramientas CLI instaladas, debería haber elementos dentro de/usr/include/php
.Vaya a http://xdebug.org/download.php y descargue el archivo fuente para la versión de Xdebug que desee. Por ejemplo: http://xdebug.org/files/xdebug-2.2.3.tgz .
Extraiga el archivo tar y
cd
en el directorio que creó. Dentro de ese directorio verás unREADME
. Desde aquí es:$ 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 ...]
Su xdebug.so
construido ahora está en modules/xdebug.so
. El phpize
es fundamental para hacer con las herramientas de CLI de XCode instaladas, porque phpize
configura los parámetros de compilación para su versión de PHP.
Con su xdebug.so
en la mano de (1) o (2) arriba, puede agregar este bloque al php.ini
que usa php
o php-fpm
:
[Xdebug]
zend_extension=<full_path_to_xdebug.so>
xdebug.remote_enable=1
xdebug.remote_host=<host running PHP (e.g. localhost)>
xdebug.remote_port=<port Xdebug tries to connect to on the host running PHP (default 9000)>
Para cualquier persona que esté enfrentando este problema, tuve que construir autoconf desde la fuente. Seguí esta respuesta de otra pregunta de .
https://.com/a/12333230/2272004
Para el error de problema de phpize, intente esto resolverá su problema: sudo ln -s /Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.9.sdk/usr/include / usr / incluir
Si está utilizando Mac Yosemite 10.10 y ninguna de las respuestas anteriores solucionó el problema. Haz lo siguiente:
Abrir una terminal
Ejecute
find /usr/lib/php/extensions -name "xdebug.so"
para conocer la ruta a la biblioteca de depuración.- Ejecute
sudo nano /etc/php.ini
para abrir y editar el archivo php.ini En php.ini agrega las siguientes líneas al final
[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
(Cuando termine, escriba control+o
para guardar y control+x
para cerrar el archivo)
(No olvide reemplazar el valor en zend_extension por lo que recibió del primer comando de terminal)
- Ejecute
sudo apachectl restart
para cargar la nueva configuración - Siéntate y relájate