安装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
任何人都有解决方案或解决方法吗?
答案 0 :(得分:91)
快速复制粘贴方式
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&优胜美地与apruled apache,但未经MAMP&测试XAMPP。
在启动命令之前,请确保已安装Xcode命令行工具:xcode-select --install
答案 1 :(得分:36)
不知道使用pecl
。在没有pecl
的情况下安装OS X后获取Xdebug非常简单。你有两个简单的选择:
使用以下版本:
/usr/lib/php/extensions/no-debug-non-zts-2010052/xdebug.so
建立自己的:
确保您拥有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
解压缩到它创建的目录中。在该目录中,您将看到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
现在位于modules/xdebug.so
。 phpize
对于安装的XCode CLI工具至关重要,因为phpize
会为您的PHP版本设置构建参数。
使用上面(1)或(2)中的xdebug.so
,您可以将此块添加到php.ini
或php
使用的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)>
答案 2 :(得分:16)
这里有两个问题。首先,您需要使用以下命令安装Xcode命令行工具:
xcode-select --install
这意味着以前在/usr/include/php/
中找不到的文件将可用。
下一步是安装autoconf
,方法与Ares在his answer中显示的方式相同。
我会先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
答案 3 :(得分:16)
如果您使用的是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
以加载新配置答案 4 :(得分:2)
对于任何面临此问题的人,我必须从源代码构建autoconf。我从另一个StackOverflow问题中听到了这个答案。
答案 5 :(得分:2)
对于问题phpize错误,试试这将解决您的问题: sudo ln -s /Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.9.sdk/usr/include / usr / include
答案 6 :(得分:2)
我必须brew install xdebug
并选择我的PHP版本并且它有效!
例如,
brew install homebrew/php/php56-xdebug
对于PHP 5.6版本变种。