我正在尝试安装一个 PHP 模块,该模块需要phpize
并且我遇到了警告,即使它存在并且已安装。
Cannot find config.m4.Make sure that you run '/usr/bin/phpize' in the top level source directory of the module
因此,我尝试phpize
从 root/usr/bin/phpize
和 just运行# phpize
,仍然遇到相同的警告。
我的 PHP 模块存储在其中,usr/lib64/php/modules/
所以我尝试phpize
从那里运行,但仍然出现相同的警告。
php-devel
安装:
Package php-devel-5.3.3-14.el6_3.x86_64 already installed and latest version
Nothing to do
which phpize
结果是 -/usr/bin/phpize
find -name 'config.m4'
结果是 -find: File system loop detected; ./var/named/chroot/var/named' is part of the same file system loop as ./var/named'.
因此,我假设config.m4
它不在phpize
正在运行的同一目录中,或者我收到的循环错误导致它被隐藏/找不到,等等。
如有任何见解,SF 将不胜感激。
编辑:我正在尝试构建 saprfc.sourceforge.net
答案1
config.m4
应该位于您尝试构建的扩展的当前工作目录中。
因此,当你下载了源 PECL 包后,你可以这样做
cd /usr/src
wget -O mypackage.tgz http://downloads.sourceforge.net/project/saprfc/saprfc/1.4.1/saprfc-1.4.1.tar.gz?r=http%3A%2F%2Fsaprfc.sourceforge.net%2Fhome.php&ts=1349204180&use_mirror=heanet
tar xvfz mypackage.tgz
cd saprfc*
phpize
./configure
make
make install
phpize
如果您尝试在非 PHP 扩展源目录的另一个目录中运行;那么它当然会抱怨config.m4
缺少内容。
答案2
确保 config.m4 位于包含您正在构建的 PHP 模块的目录中。如果没有,则说明您在提取它时缺少了某些内容。
关于find
命令中“检测到文件系统循环”的问题。请尝试使用locate
。对我来说,在进行简单的文件搜索时,这样做要容易得多。只需确保updatedb
先更新其数据库即可。