Ubuntu 11.10 소스 코드 컴 파일 설치 PHP 5.3.8
11498 단어 ubuntu
64 비트 우 분투 에서 원본 코드 에 PHP 5.3.8 을 설치 하고 Nginx 를 웹 서버 로 설정 합 니 다.인터넷 에서 소스 코드 컴 파일 에 대해 PHP 를 설치 하 는 글 이 이미 많 습 니 다. 구 글 은 다음 에 많이 쌓 였 습 니 다. 그런데 왜 저 는 이렇게 적 었 습 니까? 첫째, 업무 수요 때문에 시스템 을 재 구축 하 는 것 이 중요 한 것 은 환경 을 설정 하 는 것 입 니 다. 예전 에 sudo apt - get 으로 과정 을 조정 하 는 설치 방식 이 었 기 때문에 이 기 회 를 틈 타 소스 코드 방식 으로 설치 하고 과정 을 체험 할 수 있 습 니 다.둘째, 이것 은 첫 번 째 소스 코드 설치 이기 때문에 특별히 기념 합 니 다.
준비 하 다
환경: 64 위 우 분투 11.10
서버: Nginx 1.1.13
PHP 원본 다운로드: 본문 5.3.8 버 전 사용
설치
# tar zxvf php5.3.8.tar.gz
# cd php5.3.8
# ./configure
--prefix=/usr/local/php5
--with-config-file-path=/usr/local/php5/etc
--with-curl
--with-pear
--with-gd
--with-jpeg-dir
--with-png-dir
--with-zlib
--with-xpm-dir
--with-freetype-dir
--with-t1lib
--with-mcrypt
--with-mhash
--with-mysql
--with-mysqli
--with-pdo-mysql
--with-openssl
--with-xmlrpc
--with-xsl
--with-bz2
--with-gettext
--with-fpm-user=xiaoxiao
--with-fpm-group
--enable-fpm
--enable-exif
--enable-wddx
--enable-zip
--enable-bcmath
--enable-calendar
--enable-ftp
--enable-mbstring
--enable-soap
--enable-sockets
--enable-sqlite-utf8
--enable-shmop
--enable-dba
--enable-sysvmsg
--enable-sysvsem
--enable-sysvshm
다음 과 같은 오류 가 발생 했 습 니 다.
오류 1:
configure: error: xml2-config not found. Please check your libxml2 installation.
그리고 저 는 libxml 2 를 설 치 했 지만 이 힌트 가 있 습 니 다.
해결 방법:
# sudo apt-get install libxml2-dev
오류 2:
configure: error: Please reinstall the BZip2 distribution
그리고 저도 bzip 2 를 설 치 했 습 니 다. 인터넷 에서 찾 은 해결 방안 은 모두 bzip 2 - dev 를 설치 해 야 하지만 11.10 에는 이 라 이브 러 리 가 없습니다.
해결 방법: 인터넷 에서 bzip 2 - 1.0.5. tar. gz 를 찾 아 압축 을 풀 고 직접 make, sudo make install.http://ishare.iask.sina.com.cn/f/9769001.html)
오류 3:
configure: error: Please reinstall the libcurl distribution -easy.h should be in
해결 방법:
# sudo apt-get install libcurl4-gnutls-dev
오류 4:
configure: error: jpeglib.h not found.
해결 방법:
# sudo apt-get install libjpeg-dev
오류 5:
configure: error: png.h not found.
해결 방법:
# sudo apt-get install libpng-dev
오류 6:
configure: error: libXpm.(a|so) not found.
해결 방법:
# sudo apt-get install libxpm-dev
오류 7:
configure: error: freetype.h not found.
해결 방법:
# sudo apt-get install libfreetype6-dev
오류 8:
configure: error: Your t1lib distribution is not installed correctly. Please reinstall it.
해결 방법:
# sudo apt-get install libt1-dev
오류 9:
configure: error: mcrypt.h not found. Please reinstall libmcrypt.
해결 방법:
# sudo apt-get install libmcrypt-dev
오류 10:
configure: error: Cannot find MySQL header files under yes.
Note that the MySQL client library is not bundled anymore!
해결 방법:
# sudo apt-get install libmysql++-dev
오류 11:
configure: error: xslt-config not found. Please reinstall the libxslt >= 1.1.0 distribution
해결 방법:
# sudo apt-get install libxslt1-dev
이 를 통 해 알 수 있 듯 이 PHP 소스 코드 가 설치 되 기 전에 이러한 의존 도 를 설치 해 야 합 니 다. 상세 하 게 볼 수 있 습 니 다 http://forum.ubuntu.org.cn/viewtopic.php?f=88&t=231159
위의 오류 가 모두 해결 되면 다시... / config... 오류 가 없 으 면...
# make
# sudo make install
배치
php - fpm 는 php fastCGI 관리자 입 니 다. PHP 5.3. X 에 이 물건 을 통합 시 켰 기 때문에 우 리 는 이것 을 설치 하 는 데 번 거 로 움 을 줄 일 수 있 습 니 다. 설정 만 하면 됩 니 다.
먼저 관련 프로필 을 php 5 / etc 디 렉 터 리 에 복사 합 니 다. (이 디 렉 터 리 는 내 가 파일 저장 디 렉 터 리 를 설정 해 야 합 니 다.) 주로 다음 과 같 습 니 다.
1, php - fpm 설정 파일: php 원본 디 렉 터 리 / sapi / fpm / php - fpm. conf. in
2, php - fpm 시작 파일: php 원본 디 렉 터 리 / sapi / fpm / init. d. php - fpm. in
3. php 자체 설정 파일: php 원본 디 렉 터 리 / php. ini - development php 원본 디 렉 터 리 / php. ini - production
원본 파일 을 저장 하려 면 위 파일 을 다른 cp 1 부 로 저장 합 니 다. 저장 하지 않 으 면 위 파일 cp 는 etc 로 직접 필요 한 것 으로 이름 을 바 꿉 니 다.나 는 etc 디 렉 터 리 에 한 부 를 남 겼 다.
현재 php 5 / etc 디 렉 터 리 에 다음 과 같은 형식 설정 파일 이 있 습 니 다.
php-fpm.conf init.d.php-fpm php.ini pear. conf (설치 완료 후 이 파일 이 있 습 니 다)
우선: php - fpm. conf 파일 설정:
1. pid 설정
;pid=run/php-fpm.pid
앞에서 얻 기;번 호 를 없 애 면 뒤에 있 는 경 로 를 자신의 수요 에 따라 경 로 를 설정 할 수 있 습 니 다.
2. 로그 설정
;error-log=log/php-fpm.log
log 의 설정 은 자신의 요구 에 따라 위 치 를 열 고 저장 할 수 있 습 니 다.
3. listen 설정
listen=127.0.0.1:9000
이 설정 은 주로 포트 가 충돌 하지 않도록 주의 합 니 다. 제 가 이 설정 을 할 때 인터넷 에서 말 하 는 socket 방식 을 사용 합 니 다. 설정 은 다음 과 같 습 니 다.
listen=/usr/local/php5/var/run/php-fpm.socket
그리고 / usr / local / phop 5 / var / run / 이 디 렉 터 리 에 이 파일 을 만 듭 니 다. 권한 이 필요 합 니 다.
다른 항목 의 설정 은 자신의 요구 에 따라 변경 할 수 있 습 니 다. 설정 항목 의 설명 은 여기 서 볼 수 있 습 니 다. http://www.php.net/manual/en/install.fpm.configuration.php동시에 github 에 비교적 완전 하고 사용 가능 한 설정 이 있 습 니 다. https://github.com/vladgh/VladGh.com/blob/master/php-fpm.conf 참고 할 수 있 습 니 다.
다음: init. d. php - fpm 설정
시작 파일 로 파일 을 바 꾸 려 면 시작 위치 에 있 는 몇 개의 변수 값 을 설정 해 야 합 니 다. 예 를 들 어:
1、php_fpm_BIN: 설 치 된 php 디 렉 터 리 / sbin / php - fpm 가리 키 기
2、php_fpm_CONF: 설 치 된 php 디 렉 터 리 / etc / php - fpm. conf {이 프로필 의 이름 이 이 이름 이 아니라면, 여기 서 당신 을 위해 이름 을 설정 해 야 합 니 다.}
3、php_fpm_PID: php - fpm 의 pid 저장 경 로 를 가리 키 고 있 습 니 다.
완료 후 이 파일 을 / etc / init. d 디 렉 터 리 에 복사 합 니 다. 본 고 는 소프트 링크 를 만 드 는 방식 을 사용 합 니 다.
# sudo ln -s /usr/local/php5/etc/init.d.php-fpm /etc/init.d/php-fpm
# sudo update-rc.d -f php-fpm defaults
다음: php 설정
저 는 php. ini - development 를 가 져 왔 습 니 다. 거의 설정 하지 않 아 도 됩 니 다.
마지막: nginx. conf 설정
위 에 완료 되면 nginx 에서 phop 을 실행 할 수 있 도록 설정 해 야 합 니 다. 다음 설정:
Server {} 다음:
1. root html: 이 설정 은 스 크 립 트 프로그램의 디 렉 터 리 를 가리 키 며 본 고 는 root 로 설정 합 니 다. /home/www
2. 식별. php 파일:
location / {
index index.html index.htm index.php;
}
3. php 스 크 립 트 해석: 이것 은 주석 '\ #' 만 지우 면 됩 니 다.
location ~ \.php$ {
fastcgi_pass unix:/usr/local/php5/var/run/php-fpm.socket; #127.0.0.1:9000;
fastcgi_index index.php;
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
include fastcgi_params;
}
주의: fastcgipass 여기, 뒤쪽 은 phop - fpm. conf 에 listen 과 일치 하 게 설정 되 어 있 습 니 다. listen 에 서 는 socket 방식 을 설정 하 였 기 때문에 여기 도 이렇게 어 울 립 니 다.
시작 서비스:
# sudo /etc/init.d/nginx restart
# sudo /etc/init.d/php-fpm start
웹 페이지 에 localhost 를 입력 하면 볼 수 있 습 니 다.
필요 하 다 면 시스템 경로 에 추가 할 수 있 습 니 다.
# sudo vim /etc/bash.bashrc
//
if [ -d "/usr/local/php5/bin" ] && [ -d "/usr/local/php5/sbin" ]; then
PATH="$PATH:/usr/local/php5/bin:/usr/local/php5/sbin"
fi
가상 컴퓨터 설정
nginx 의 가상 컴퓨터 설정 은 사실 매우 간단 합 니 다. nginx. conf 를 엽 니 다. http {} 에 추가 include /usr/local/nginx/conf/virtual_sites.conf;(sites / *. conf 와 같은 폴 더 아래 파일 일 수도 있 습 니 다)
그리고 virtualsites. conf 에 필요 한 가상 컴퓨터 설정:
server {
listen 80;
server_name p9.xxx;
root /home/www/p9/www;
location / {
index index.html index.htm index.php;
}
location ~ \.php$ {
fastcgi_pass unix:/usr/local/php5/var/run/php-fpm.socket;
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
fastcgi_index index.php;
include fastcgi_params;
}
}
그리고 p9. xxx 를 hosts 에 연결 하면 됩 니 다.사용 가능 한 가상 컴퓨터 설정 이 이 럴 수도 있 습 니 다 http://wiki.nginx.org/NginxVirtualHostExample
만약 네가 좋다 고 생각한다 면 다운로드
-------- 마찬가지 로 만능 인터넷 에 감 사 드 립 니 다. 저 는 항상 '거인' 의 어깨 에 서서 많은 가시덤불 을 줄 일 수 있 습 니 다.
년 1 월 31 일 by 아주 비슷 하 다
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
Ubuntu 22.04에 캐디 설치 - HostnExtra이 기사에서는 Ubuntu 22.04에 Caddy를 설치하는 방법을 설명합니다. 이 문서는 설치 프로세스를 안내하고 웹 사이트를 호스팅합니다. Caddy 웹 서버는 Go로 작성된 오픈 소스 웹 서버입니다. Ubunt...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.