私はいくつかの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
何が起こっている?助けてくれる人は誰でもお願いします...
私の経験から、「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
編集:
パッケージがインストールされていないように見える具体的な理由は、別のシステム用に構築されているためです。一般に、ソースからコンパイルする場合は、何が起こっているのかを知っていると幸せになります。
試してください:
mount -o remount,exec,suid /tmp
mount -o remount,exec,suid /var/tmp
タイムゾーン警告(php.iniでタイムゾーンを設定して修正する必要があります)は、実際の問題である「エラー:Cコンパイル済みプログラムを実行できません」行とは完全に別のものです。パッケージマネージャーからgcc
および/またはmake
がインストールされていない可能性があります。 yum groupinstall "Development Tools"
またはyum install gcc make
はトリックをするかもしれません。