OS X 10.9 Mavericks上的PHP Xdebug
安装OS X 10.9 Mavericks后,在OS X上设置我的PHP开发环境时出现问题。
这是我用来安装的命令。
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
任何人都有解决scheme或解决方法?
快速复制粘贴的方式
sudo sh -c 'echo zend_extension=$(find /usr/lib/php/extensions -name "xdebug.so") >> $(php -qr "echo php_ini_loaded_file();") && apachectl restart'
该命令执行以下操作:
- 查找Xcode附带的原生Xdebug扩展
- 询问php哪个configuration文件被加载
- 在configuration文件中添加Xdebug扩展path
- 重新启动apache。
兼容塞拉利昂,埃尔卡皮坦和优胜美地阿德蒙特,但未经testing的MAMP和XAMPP。
在启动命令之前,请确保安装了Xcode命令行工具: xcode-select --install
不知道使用pecl
。 在安装OS X之后获得Xdebug非常简单,没有pecl
。 你有两个简单的select:
-
使用以下版本的可用版本:
/usr/lib/php/extensions/no-debug-non-zts-2010052/xdebug.so
-
build立你自己的:
-
确保你有Xcode CLI工具:
xcode-select --install
会提示你安装CLI工具。 安装CLI工具后,应该在/usr/include/php
有东西。 -
转到http://xdebug.org/download.php并下载所需的Xdebug版本的源代码压缩包。; 例如: http : //xdebug.org/files/xdebug-2.2.3.tgz 。
-
将tarball和
cd
解压到它创build的目录中。 在那个目录里面你会看到一个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 ...]
-
您构build的xdebug.so
现在位于modules/xdebug.so
。 phpize
是安装XCode CLI工具的关键,因为phpize
为您的PHP版本设置构build参数。
从上面的(1)或(2)手中获得xdebug.so
,可以将此块添加到您的php
或php-fpm
使用的php.ini
中:
[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/
找不到的文件将可用。
下一步是按照Ares在回答中所示的方式安装autoconf
。
我会先进入你的下载文件夹
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而上述答案都不能解决问题。 请执行下列操作:
-
打开一个terminal
-
执行
find /usr/lib/php/extensions -name "xdebug.so"
来知道debugging库的path。 - 执行
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
(完成后,inputcontrol+o
保存并control+x
closures文件)
(不要忘记从第一个terminal命令中取出zend_extension中的值)
- 执行
sudo apachectl restart
来加载新的configuration - 高枕无忧
对于任何面临这个问题的人,我必须从源代码构buildautoconf。 我从另一个StackOverflow问题跟随这个答案。
对于phpize错误的问题,试试这个会解决你的问题:sudo ln -s /Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.9.sdk/usr/include / usr /包括
我不得不brew install xdebug
并select我的PHP版本,它的工作! 例如,
brew install homebrew/php/php56-xdebug
对于PHP版本5.6变体。