2009-05-23 4 views
8

Я просмотрел каждый результат Google, прочитал все сообщения на форуме об этой ошибке, но я не могу ее решить.Ошибка установки PECL

При использовании PECL установить что-нибудь, я всегда в конечном итоге получаю эту ошибку:

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

Все остальное успешно до этого момента их бац!

Я использую CentOS 4.3, PEAR - последняя стабильная версия, GCC - стабильная и последняя версия. Все работает так, как должно, но компилятор C всегда кажется ошибкой. Я пытался сделать TMP иметь право privilages для работы временно позволяя ему с помощью:

mount -o remount,exec,suid /tmp 

Но это не работает.

Я буквально пробовал все, что было предложено безрезультатно. Есть идеи?

+0

Bump? На самом деле нужна помощь здесь, ребята! Кто-нибудь получил идеи? – James

+0

Очевидный вопрос. * Может ли вы запускать C-скомпилированные программы? Вы скомпилировали приложение hello-world (или что-то еще)? echo 'int main() {printf («Hello, world! \\ n»);}' | gcc -xc - -o hello && ./hello –

+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. Прекрасно работает.

+0

Это работало для меня, чтобы установить расширение oauth, которое мне сначала нужно было install: pcre-d, я сделал это с помощью: yum install pcre pcre-d. На всякий случай у кого-то такая же проблема. –

9

Я на Centos 5.3, и я был в состоянии получить PECL монтажников, работающих (APC в моем случае), успешно удалив поехес флаг и/TMP и/вар/TMP

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

Doing это только на/tmp не сработало - я все еще получил ошибку «проверяю, работает ли компилятор C ... configure: error: не может запускать скомпилированные программы».

Не забудьте запустить эти повторные подключения снова с помощью noexec после завершения установки.

+0

ты просто спас мне жизнь ... – kubilay

2

Когда я имел аналогичные проблемы с установкой драйвера 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 

(Это не открывает дыру в безопасности, потому что только корень может создавать исполняемые файлы в этих двух справочниках.)

Обратите внимание, что следующее: не Работа для PECL:

sudo pear config-set temp_dir /var/tmp/pear/temp