php xdebug osx-mavericks

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:

  1. Usa la versión ya disponible en:

    /usr/lib/php/extensions/no-debug-non-zts-2010052/xdebug.so

  2. Construye tu propio:

    1. 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 .

    2. 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 .

    3. Extraiga el archivo tar y cd en el directorio que creó. Dentro de ese directorio verás un README . 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:

  1. Abrir una terminal

  2. Ejecute find /usr/lib/php/extensions -name "xdebug.so" para conocer la ruta a la biblioteca de depuración.

  3. Ejecute sudo nano /etc/php.ini para abrir y editar el archivo php.ini
  4. 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)

  1. Ejecute sudo apachectl restart para cargar la nueva configuración
  2. Siéntate y relájate