2009-05-23 31 views
8

すべてのGoogleの結果を閲覧しましたが、このエラーに関するすべてのフォーラム投稿を読んでいますが、解決できません。PECLのインストールに失敗しました

PECL使用して何のためにインストールし、私はいつもこのエラーを取得し終わる:他に

checking whether the C compiler works... configure: error: cannot run C compiled programs. 

すべては彼らがBAMその時点までに成功しました!

私はCentOS 4.3を使用しています、PEARは最新の安定版です、GCCは安定した最新のバージョンです。すべてが正常に動作していますが、Cコンパイラは常にエラーに見えます。私は一時的に使用し、それを可能にすることによって、tmpが操作のための右のprivilagesを持たせるためにしようとしました:

mount -o remount,exec,suid /tmp 

しかし、それは動作しません。

私は文字通り役に立たないことが示唆されたすべてを試しました。何か案は?

+0

バンプ?本当にここに助けが必要です!誰もがもうアイデアを得ましたか? – James

+0

明らかな疑問。 * Cコンパイルされたプログラムを実行できますか?あなたはこんにちは世界のアプリ(または他の何か)をコンパイルしましたか? –

+0

はい、私はそれがCコンパイルされたアプリケーションを実行できると確信しています。 PECLを使って私は他の多くのアプリをコンパイルしました。 – James

答えて

7
cd ~ 
mkdir setups 
cd setups 
wget http://pecl.php.net/get/APC-3.1.2.tgz 
tar -xvf APC-3.1.2.tgz 
cd APC-3.1.2 
phpize && ./configure --with-apxs && make 

私はすぐにそれを書いて、手作業のビットでAPCをインストールすることができました。 PHPモジュールにモジュールをコピーし、php.iniに拡張機能を追加するなど。今は完璧に動作します。/tmpのの/ var/tmpの

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

こう両方にnoexecでフラグを除去することに成功し

+0

これは私には最初に必要なoauth拡張をインストールするのに役立ちました。インストール:pcre-d、これでやった:yum install pcre pcre-d。誰かが同じ問題を抱えている場合に備えて。 –

9

私はCentOSに5.3上だと私は(私の場合APC)を実行しているPECLのインストーラを入手することができましたこれは/ tmp上でのみ動作しませんでした - 私はまだ "Cコンパイラが動作するかどうかをチェックする..."エラーを受け取りました:configure:error:Cコンパイルされたプログラムを実行できません。

インストールが完了した後、これらの再マウントをnoexecで再度実行することを忘れないでください。私はMongoDBのドライバをインストールすると同様の問題を抱えていた

+0

あなたはちょうど私の人生を救った... – kubilay

2

が、これは私のために働いた。その後

sudo mkdir /root/tmp.pear 
sudo mkdir /root/tmp.pear-build-root 

sudo ln -s /root/tmp.pear /tmp/pear 
sudo ln -s /root/tmp.pear-build-root /tmp/pear-build-root 

sudo sudo pecl install XXX 

(rootのみが実行可能ファイルを作成することができますので、これはセキュリティホールが開きません。これら2つのディレクトリにあります)

ではなく、はPECLで動作します。

sudo pear config-set temp_dir /var/tmp/pear/temp 
関連する問題