phpize error on RHEL server

Trying to install the MongoDB PHP driver using Pecl (as per the documentation) on a Rackspace managed server running RHEL I ran into the following problem:

pecl install mongo
 
/usr/bin/phpize: /tmp/tmpNW0rIa/mongo-1.2.12/build/shtool: /bin/sh: bad interpreter: Permission denied
Cannot find autoconf. Please check your autoconf installation and the
$PHP_AUTOCONF environment variable. Then, rerun this script.
 
ERROR: `phpize' failed

It took me a while to remember and then search through old tickets, but the problem is that on Rackspace’s RHEL servers the /tmp partition is mounted without script execute permissions. (Is this standard for RHEL in general?)

Pecl uses the /tmp – and so therefore, the install fails.

The solution is to temporarily allow script execution in /tmp

[root@server ~]# mount | grep /tmp
/dev/sda2 on /tmp type ext3 (rw,noexec,nosuid,nodev)
 
[root@server ~]# mount -o remount,exec /tmp
 
[root@server ~]# mount | grep /tmp
/dev/sda2 on /tmp type ext3 (rw,nosuid,nodev)

Install the MongoDB driver with Pecl…

[root@server ~]# pecl install mongo

Revert the permissions on /tmp and then check the permissions are correct…

[root@server ~]# mount -o remount,noexec /tmp
 
[root@server ~]# mount | grep /tmp
/dev/sda2 on /tmp type ext3 (rw,noexec,nosuid,nodev)

Leave a Reply

  • (will not be published)

XHTML: You can use these tags: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>