Php – Cannot perform a PECL installation

installationpeclPHPredhat

I have been trying to do a few PECL installations, but all of them return the same type of error. Something related to timezones? Im running RedHat x86_64 es5.

Attempting to install geoip-1.0.7:

root@server [~]# pecl install geoip-1.0.7
downloading geoip-1.0.7.tgz ...
Starting to download geoip-1.0.7.tgz (9,416 bytes)
.....done: 9,416 bytes

Warning: strtotime(): It is not safe to rely on the system's timezone settings. You are *required* to use the date.timezone setting or the date_default_timezone_set() function. In case you used any of those methods and you are still getting this warning, you most likely misspelled the timezone identifier. We selected 'America/Chicago' for 'CST/-6.0/no DST' instead in PEAR/Validate.php on line 489

Warning: strtotime(): It is not safe to rely on the system's timezone settings. You are *required* to use the date.timezone setting or the date_default_timezone_set() function. In case you used any of those methods and you are still getting this warning, you most likely misspelled the timezone identifier. We selected 'America/Chicago' for 'CST/-6.0/no DST' instead in /usr/local/lib/php/PEAR/Validate.php on line 489
3 source files, building
running: phpize
Configuring for:
PHP Api Version:         20090626
Zend Module Api No:      20090626
Zend Extension Api No:   220090626
building in /var/tmp/pear-build-root/geoip-1.0.7
running: /root/tmp/pear/geoip/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/geoip/configure' failed

What is going on? Anyone that could assist please…

Best Answer

from my exeperience, "pecl install packagename" rarely works.

i simply download latest pecl tarball, uncompress, phpize (make sure php is in you path after you compile/install it), ./configure, make, make install, service php-fpm restart

so for instance, wth the geo-ip pecl package, try

wget http://pecl.php.net/get/geoip-1.0.8.tgz
cd geoip-1.0.8
phpize
./configure
make
make install
echo "extenstion=geoip.so" >> /path/to/php.ini
sudo service php-fpm|apache restart

EDIT:

if you are missing a developmen package, the compilation error will tell you, and you then

yum install missingpkg-dev

EDIT:

the specific reason your package appears to not install, is that it is built for a diffent system. in general, if you compile from source, you will be happier cuz you know whats going on.