質問

私はこのエラーに関するすべてのフォーラムの投稿を読んで、すべてのGoogleの結果を閲覧しているが、私はそれを解決することはできません。

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

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

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

私はCentOSの4.3を使用しています、PEARは、最新の安定版である、GCCは安定しており、最近のバージョンです。すべてはそれが必要として働いているが、Cコンパイラは常にエラーのようです。私は一時的に使用し、それを有効にすることで、操作のための右のprivilagesを持つTMPを作成しようとしました。

mount -o remount,exec,suid /tmp

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

私は、文字通り無駄にすることによって示唆されているすべてのものを試してみました。任意のアイデア?

役に立ちましたか?

解決 2

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のに拡張を追加することができます。今完璧に動作します。

他のヒント

私はCentOSに5.3上だと私は正常に両方の/ tmp のとでnoexecでフラグを除去することにより、(私の場合はAPC)を実行しているPECLのインストーラを入手することができました。のの/ var / tmpの

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

唯一の/ tmpこれを行うと動作しませんでした - 私はまだ「Cコンパイラが動作するかどうか...のconfigureをチェック:エラー:Cコンパイルされたプログラムを実行することはできません。」というエラーを受け取った。

あなたのインストールが終了した後にnoexecで再びこれらの再マウントを実行することを忘れないでください。

私はMongoDBのドライバをインストールすると同様の問題を抱えていた、これは私のために働いてます:

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のみがこれらの二つのディレクトリに実行ファイルを作成することができますので、これはセキュリティホールが開きません。)

以下は、PECLのためのありませんの作業を行うことに注意します:

sudo pear config-set temp_dir /var/tmp/pear/temp
ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top