web-dev-qa-db-ja.com

PECLインストールを実行できません

私はいくつかのPECLインストールを実行しようとしましたが、それらすべてが同じタイプのエラーを返します。タイムゾーンに関連するものはありますか? RedHat x86_64es5を実行しています。

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

何が起こっている?助けてくれる人は誰でもお願いします...

3
Petrusa

私の経験から、「peclinstallpackagename」はめったに機能しません。

私は単に最新のpecltarballをダウンロードし、解凍し、phpize(コンパイル/インストールした後、phpがパスにあることを確認してください)、。/ configure、make、make install、service php-fpm restart

たとえば、geo-ip peclパッケージを使用して、

wget http://pecl.php.net/get/geoip-1.0.8.tgz
cd geoip-1.0.8
phpize
。/構成、設定
make
make install
echo "extenstion = geoip.so" >> /path/to/php.ini
Sudoサービスphp-fpm | Apache再起動

編集:

開発者パッケージが不足している場合は、コンパイルエラーで通知されます。

yum installmissingpkg-dev

編集:

パッケージがインストールされていないように見える具体的な理由は、別のシステム用に構築されているためです。一般に、ソースからコンパイルする場合は、何が起こっているのかを知っていると幸せになります。

1
nandoP

試してください:

mount -o remount,exec,suid /tmp
mount -o remount,exec,suid /var/tmp
0
alvosu

タイムゾーン警告(php.iniでタイムゾーンを設定して修正する必要があります)は、実際の問題である「エラー:Cコンパイル済みプログラムを実行できません」行とは完全に別のものです。パッケージマネージャーからgccおよび/またはmakeがインストールされていない可能性があります。 yum groupinstall "Development Tools"またはyum install gcc makeはトリックをするかもしれません。

0
ceejayoz