标题: [求助] 安装mysqli报错,shtool does not exist or is not executable. [打印本页] 作者: lb1217 时间: 2015-6-19 14:31 标题: 安装mysqli报错,shtool does not exist or is not executable.
我按照
wget -c http://down.wdlinux.cn/in/mysqli_ins.sh
chmod 755 mysqli_ins.sh
./mysqli_ins.sh
复制代码
这个执行,但是报错。
php-5.2.17/INSTALL
php-5.2.17/CODING_STANDARDS
php-5.2.17/header
php-5.2.17/generated_lists
php-5.2.17/vcsclean
Configuring for:
PHP Api Version: 20041225
Zend Module Api No: 20060613
Zend Extension Api No: 220060519
shtool at '/tmp/php-5.2.17/ext/mysqli/build/shtool' does not exist or is not executable.
Make sure that the file exists and is executable and then rerun this script.
./mysqli_ins.sh: line 37: ./configure: No such file or directory
make: *** No targets specified and no makefile found. Stop.
复制代码
我查了
shtool' does not exist or is not executable.
提示
Remove noexec flag from /var/tmp directory use the following command
mount -o remount,exec /var/tmp/
You can use the same command to add the noexec flag back
mount -o remount,noexec /var/tmp/
复制代码
但是执行报错。
[root@iZ62vu79juaZ ~]# mount -o remount,exec /var/tmp/
mount: can't find /var/tmp in /etc/fstab or /etc/mtab
然后就查不到资料了。作者: fengsilc 时间: 2015-9-16 12:50
同样的问题。 centos 5
请教解决方案。谢谢作者: fengsilc 时间: 2015-9-16 15:44
发现有人提到:
Hi, slowbro here (from the aforementioned blog). The reason you're getting this error is because you're missing the package php-devel package. Try running yum install php-devel first.
于是执行:yum install php-devel
仍然无效作者: fengsilc 时间: 2015-9-16 17:12
Trouble Shooting: “PECL Install Doesn’t Work”
Some users prefer to mount their /tmp directory as noexec for security reasons, but we’ve seen that this can cause a problem for PECL installs. Pointing the PECL temp_dir to a new path gets around this problem.
Now, this isn’t strictly a LiteSpeed issue, but we thought some might find it useful to explore: Whether or not /tmp should be mounted as noexec is a matter of debate. A number of sources suggest that every server running Linux should mount /tmp as nonexecutable to prevent SUID attacks, but some scoff that this only provides false security. No matter what, any security feature is going to have some weaknesses, and it is understandable if a lot of users want to add the noexec option. Most of the time, having /tmp as noexec shouldn’t cause any problems, but recently a user reported this error while trying to do a PECL install for LSPHP (though this would be the same for PHP):
root@cptest [/usr/local/bin]# ./pecl install -n bbcode
downloading bbcode-1.0.2.tgz …
Starting to download bbcode-1.0.2.tgz (46,961 bytes)
………….done: 46,961 bytes
7 source files, building
running: phpize
Configuring for:
PHP Api Version: 20100412
Zend Module Api No: 20100525
Zend Extension Api No: 220100525
shtool at ‘/tmp/pear/bbcode/build/shtool’ does not exist or is not executable.
Make sure that the file exists and is executable and then rerun this script.
ERROR: `phpize’ failed
Now, the obvious “solution” to this problem is to make /tmp executable (the command mount -o remount,exec /tmp would work), but that disables any extra security we were hoping to get in the first place. A more appropriate workaround is to point PECL’s temp_dir to a partition or path that allows execution:
(There is a known bug where pecl config-set does not work but pear config-set does. If this is the case for you, simply use the PEAR config command. PECL will use PEAR when doing the install.)
This workaround preserves any security benefit from having /tmp set as noexec, but also allows PECL installs.
We’d love to hear any comments, questions, or criticisms. Cheers!
http://blog.litespeedtech.com/2013/04/05/trouble-shooting-pecl-install-doesnt-work/