문제
모든 Google 결과를 탐색 하고이 오류에 대한 모든 포럼 게시물을 읽었지만 해결할 수는 없습니다.
무엇이든 PECL 설치를 사용할 때는 항상이 오류가 발생합니다.
checking whether the C compiler works... configure: error: cannot run C compiled programs.
다른 모든 것은 그 시점까지 성공합니다!
Centos 4.3을 사용하고 있으며 Pear는 최신 안정 버전이며 GCC는 안정적이고 최근 버전입니다. 모든 것이 필요한대로 작동하지만 C 컴파일러는 항상 오류가 발생합니다. TMP를 일시적으로 활성화하여 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에 있고 PECL 설치 프로그램 (내 경우 APC)을 실행할 수있었습니다. 그리고 /var/tmp
mount -o remount,exec,suid /tmp
mount -o remount,exec,suid /var/tmp
/TMP ON /TMP 만 작동하지 않았습니다. "C 컴파일러가 작동하는지 확인하는 오류 ... 구성 : 오류 : C 컴파일 된 프로그램을 실행할 수 없습니다."
설치가 완료된 후 NoExec 으로이 remounts를 다시 실행해야합니다.
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