我试图在Linux上安装PECL包,但安装程序永远不会超过配置阶段。如何从/ var/tmp中更改默认的Pear/PECL构建文件夹?
我的托管服务提供商安装的文件系统位于/ var/tmp中防止文件执行,这是造成此错误:
[email protected] [/usr/local/apache/conf/includes]# pecl install pdo
downloading PDO-1.0.3.tgz ...
Starting to download PDO-1.0.3.tgz (52,613 bytes)
.............done: 52,613 bytes
12 source files, building
running: phpize
Configuring for:
PHP Api Version: 20041225
Zend Module Api No: 20060613
Zend Extension Api No: 220060519
building in /var/tmp/pear-build-root/PDO-1.0.3
running: /root/tmp/pear/PDO/configure
checking for egrep... grep -E
checking for a sed that does not truncate output... /bin/sed
checking for cc... cc
checking for C compiler default output file name... a.out
checking whether the C compiler works... configure: error: cannot run C compiled programs.
If you meant to cross compile, use `--host'.
See `config.log' for more details.
ERROR: `/root/tmp/pear/PDO/configure' failed
我99%肯定的问题是,你不能执行/ var/tmp中的文件(我在这里复制了一个可执行文件并试图验证)。我确信如果我在其他地方完成它的构建工作,我就可以完成PECL,但是我找不到合适的配置设置。
你如何告诉PECL建立一个非默认文件夹?
安装/ tmp(或链接到它的那个)作为noexec是错误的安全感。 'cd〜&&/bin/sh -c/tmp/badcode'。 ..太多的主机雇佣管理员,无论Google说什么。 –
2010-06-22 21:41:02