尝试安装pecl扩展时,mac os x 10.7.3上的$ PHP_AUTOCONF错误

kri*_*hna 107 php macos installation autoconf pecl

我正在尝试使用pecl_http和memcache设置我的机器,在这两种情况下,我都会遇到类似的错误.这是在MAC OS X 10.7.3(狮子)上,我也安装了XCODE.我还在运行这些命令之前安装了Zend Server社区版,并设置了CFLAGS =' - arch i386 -arch x86_64'环境变量.所以请帮助我做我需要做的事情

bash-3.2# **sudo pecl install pecl_http-1.7.1**
downloading pecl_http-1.7.1.tgz ...
Starting to download pecl_http-1.7.1.tgz (174,098 bytes)
.....................................done: 174,098 bytes
71 source files, building
running: phpize
Configuring for:
PHP Api Version:         20090626
Zend Module Api No:      20090626
Zend Extension Api No:   220090626
Cannot find autoconf. Please check your autoconf installation and the
$PHP_AUTOCONF environment variable. Then, rerun this script.
ERROR: `phpize' failed
Run Code Online (Sandbox Code Playgroud)

Bob*_*ryn 302

brew install autoconf
Run Code Online (Sandbox Code Playgroud)

更简单的解决方案

  • 你不应该sudo brew安装任何东西.事实上,我认为这些日子都失败了. (25认同)
  • 这似乎不再适用于osx 10.8 (5认同)
  • 'sudo brew install autoconf'否则将无法链接,因为您没有权限,这可能看起来不起作用. (2认同)

Are*_*res 93

您需要安装autoconfig.我通常喜欢从源代码安装库.所以你可以做到以下几点:

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
Run Code Online (Sandbox Code Playgroud)

我和山狮一起经历了这个.

  • 这不必在/ usr/bin文件夹中进行.如果您了解给出的命令,您会注意到您正在下载一些文件(curl),将它们解压缩(tar),将安装配置到您的机器需要(./configure),编译它(make)并安装库(make install) .安装时应注意将文件复制到任何需要的位置.但是,您"sudo"最后一个命令非常重要,这样您就可以获得复制这些文件所需的权限. (6认同)
  • 对于那些涂料 - 喜欢我! - 谁是Mac-World的新手 - 请确保在/ usr/bin /文件夹中执行上述操作. (3认同)
  • @Kevin,那么,使用通配符会自动选择"更高"版本吗?我今天学到了一些东西! (2认同)

Ant*_*nko 55

在Mac OS X 10.8上的情况略有不同.来自Bob Spryn的高度投票解决方案不起作用,因为它不会创建符号链接,所以在安装后autoconf你应该制作它们:

sudo ln -s /usr/local/Cellar/autoconf/2.69/bin/autoconf /usr/bin/autoconf
sudo ln -s /usr/local/Cellar/autoconf/2.69/bin/autoheader /usr/bin/autoheader
Run Code Online (Sandbox Code Playgroud)

我知道这个问题适用于10.7,但我希望我的答案对于10.8的人有用.:)

更新:也适用于10.10 Yosemite.

  • 也适用于小牛队(10.9) - 谢谢! (2认同)

sto*_*fln 15

要么

sudo port install autoconf
Run Code Online (Sandbox Code Playgroud)

如果你使用macports