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


108

我正在尝试使用pecl_http和memcache设置我的机器,在两种情况下,我都会遇到类似的错误。这是在MAC OS X 10.7.3(lion)上的,我也安装了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

3
export PHP_AUTOCONF=/usr/bin/autoconf在运行命令之前尝试过吗?当然,假定$PHP_AUTOCONF应该是应该找到的autoconf二进制文件的位置,但是也许只需要一点帮助即可:-)
prodigitalson 2012年

@prodigitalson在该路径中没有/ usr / bin / autoconf。您认为这可能是原因?然后如何安装autoconf?谢谢。
克里希纳

1
是的,那么您需要autoconf。没错,我的10.7和10.6盒子上都有它。我认为您必须手动下载并构建它。或者,您可以通过简单的方法来使用Macports,Homebrew或Fink。
prodigitalson

我尝试过自制软件和端口,但仍然没有帮助。然后,我尝试从XCODE 4.3降级到4.2.1,此后一切正常。没有错误了:)。我更新了我的答案
克里希纳

1
我升级了XCode,在将/ Developer / usr / bin /添加到$ PATH之前,我遇到了同样的问题。
爱德华多·罗梅罗

Answers:


309
brew install autoconf

简单得多的解决方案


2
否则'sudo brew install autoconf'不会被链接,因为您没有权限,这看起来好像不起作用。
2012年

25
您不应该sudo brew安装任何东西。实际上,我认为这几天失败了。
Bob Spryn 2012年

如果您尚未安装brew,则可以从此处brew.sh/index_es.html
Ricardo

我也有和@krishna一样的问题。我像您说的那样做,起诉brew,并且我还创建了一个变量export PHP_AUTOCONF=/usr/bin/autoconf来确保它工作正常。刚才编辑的php.ini添加extension=apcu.so就结束。
Joab Mendes

然后“ brew link autoconf”,使其可用于操作系统和phpize。
txyoji

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

我刚和山狮经历过。


3
对于那些浓汤-喜欢我!-Mac-World的新手-确保在/ usr / bin /文件夹中执行上述操作。
Bill Ortell 2012年

6
这不必在/ usr / bin文件夹中进行。如果您理解给出的命令,将会注意到您正在下载一些文件(curl),将它们解压缩(tar)以根据您的计算机需求(./configure)配置安装,对其进行编译(make)并安装该库(make install) 。安装应注意将文件复制到任何需要的地方。但是,“ sudo”最后一个命令非常重要,这样您可以获得复制这些文件所需的权限。
阿瑞斯(Ares)2012年

2
@Kevin,那么,使用通配符会自动选择“较高”版本吗?我今天学到了一些东西!
Ares

1
@Ares指向tar文件的链接无效。
赛斯2014年

1
我花了比我愿意承认的更长的时间解决这个问题。您保存了这一天。这也适用于10.12.x
TheValyreanGroup'5

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

我知道这个问题是针对10.7的,但是我希望我的回答对10.8的人有用。:)

更新:也可在10.10优胜美地上使用。


1
感谢这个@ anton-babenko,在使用安装后autoconf,对我来说效果很好homebrew
华孚

此问题修复了以前安装了autoconf和brew的升级版osx。
Jose Muanis

1
在优胜美地为我工作
markwalker_ 2014年

在El Capitan上遇到以下错误:sudo ln -s /usr/local/Cellar/autoconf/2.69/bin/autoconf /usr/bin/autoconf ln: /usr/bin/autoconf: Operation not permitted。任何想法?
阿伦·古普塔

在10.14
Bharat Modi


4

XCODE 4.3并未将所有的autoconf等工具都放在Developer文件夹中。它甚至没有在MACINTOSH HD中创建该文件夹。我不得不降级到XCODE 4.2.1,它将在Developer文件夹中安装所需的所有内容,现在我看不到任何错误。

这也是有用的参考


0

也许您需要将autoconf与链接brew link autoconf

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.