>백엔드 개발 >PHP 튜토리얼 >Mud: php5.6 소스 코드 설치 및 Apache 통합

Mud: php5.6 소스 코드 설치 및 Apache 통합

WBOY
WBOY원래의
2016-08-08 09:32:42995검색

이 글은 펑시우이린의 후원으로 작성되었으며, 머드워킹월드에 처음 게재되었습니다.

아파치는 nginx와는 다른 아파치의 mod_php5 모듈을 통해 php를 지원합니다. nginx는 타사 fastcgi 프로세서를 통해 php를 구문 분석할 수 있습니다. nginx와 php의 통합에 대한 자세한 내용은 "Mud: php5.6 소스 코드 설치 및 php-fpm 구성 및 nginx 통합을 참조하세요. 》.

소스 코드에서 PHP를 컴파일하고 설치하는 경우 컴파일 중에 --with-apxs2=/usr/local/apache2/bin/apxs를 지정하여 컴파일러에 다음을 사용하도록 지시해야 합니다. Apache의 mod_php5 모듈은 PHP 구문 분석을 제공합니다.

동시에 php 설치의 마지막 단계인 make install에서 동적 링크 라이브러리인 libphp5.so가 apache2 설치 디렉터리의 모듈 디렉터리에 복사되는 것을 볼 수 있습니다. , 또한 httpd에도 있어야 합니다. conf 구성 파일에 LoadModule 문을 추가하여 libphp5.so 모듈을 동적으로 로드하여 Apache의 PHP 지원을 실현하세요.

php와 apache를 통합하려면 다음 단계가 필요합니다.

1. libiconv 라이브러리를 설치합니다.

2. PHP 소스 코드 설치

3. PHP를 지원하도록 Apache 구성

4. 🎜 >1. libiconv 라이브러리 설치

libiconv 라이브러리는 한 문자 인코딩을 다른 문자 인코딩으로 변환해야 하는 응용 프로그램에 대해 iconv 명령을 제공합니다. UTF8 인코딩에서 GB18030 인코딩으로 또는 그 반대로 인코딩합니다.

PHP를 Apache와 통합할 때 libiconv 라이브러리를 설치해야 합니다. 그렇지 않으면 make 중에 시스템에서 오류가 보고됩니다. 오류 메시지는 다음과 같습니다:

make: *** [sapi/cli/php] 오류 1

/usr/bin/ ld: 찾을 수 없음 -liconv

collect2: ld가 종료 상태 1개를 반환함

make: *** [sapi/cli/php] 오류 1

이제 libiconv 라이브러리의 정식 설치를 시작합니다. 먼저 다음과 같이 libiconv 라이브러리를 다운로드합니다.

wget

http://ftp.gnu.org/pub/gnu/libiconv/libiconv-1.14.tar.gz

다음과 같이 libiconv 라이브러리의 압축을 풉니다.

tar -xf libiconv-1.14.tar.gz

libiconv 라이브러리를 설치하고 먼저 설치 도움말 정보를 확인하세요. 다음과 같습니다:

./configure --help

을 통해 위 그림 도움말을 통해 libiconv 라이브러리의 기본 설치 경로가 /usr/local임을 알 수 있습니다. 이제 다음과 같이 libiconv 라이브러리 설치를 시작합니다:

./configure --prefix=/usr/local

make && make install

libiconv 라이브러리가 설치되면 /usr/ 권장 /etc/ld.so.conf 파일에 local/lib 라이브러리를 추가한 후 /sbin/ldconfig를 사용하여 적용합니다. 다음과 같습니다:

echo "/usr/local/lib">>/etc/ld.so.conf

/sbin / ldconfig

php 설치시 이 단계를 수행하지 않고 make install을 실행하면 시스템에서 오류를 보고합니다. . 오류 메시지는 다음과 같습니다:

/root/php-5.6.2/sapi/cli/php: 공유 라이브러리를 로드하는 중 오류 발생: libiconv.so.2: 공유 객체 파일을 열 수 없습니다: 해당 파일 또는 디렉터리가 없습니다

2. PHP 소스코드 설치

PHP 소스코드 설치는 " Mud: php5.6 소스코드 설치 및 php를 참고하세요. -fpm 구성 및 nginx 》 기사를 통합하고 다음과 같이 php 명령을 다운로드하고 컴파일합니다:

wget http://mirrors. sohu.com/php/php- 5.6.2.tar.gz

./configure --enable-fpm --enable-mbstring --with-mysql=/usr/local /mysql --with-iconv- dir=/usr/local --with-apxs2=/usr/local/apache2/bin/apxs

위 명령에서 --enable-fpm 기능은 php의 fastcgi 기능을 활성화하는 것입니다. php-fpm 함수.

--with-mysql=/usr/local/mysql은 PHP가 mysql을 지원하도록 하는 것이며 /usr/local/mysql은 mysql 데이터베이스의 설치 경로이다.

--enable-mbstring은 mbstring 모듈을 활성화함을 나타냅니다. mbstring 모듈의 주요 기능은 인코딩을 감지 및 변환하고 다중 바이트 작업에 해당하는 문자열 기능을 제공하는 것입니다. 현재 PHP의 내부 인코딩은 ISO-8859-*, EUC-JP, UTF-8만 지원하며, 다른 인코딩 언어는 PHP 프로그램에서 올바르게 표시할 수 없으므로 mbstring 모듈을 활성화해야 합니다.

--with-iconv-dir=/usr/local은 PHP가 libiconv 라이브러리를 저장하는 위치를 지정합니다.

--with-apxs2=/usr/local/apache2/bin/apxs는 PHP가 Apache를 검색하는 위치를 지정합니다.

컴파일이 완료되면 다시 만들어 보겠습니다. 만들 때 -liconv 매개변수 추가에 주의합니다. -liconv 매개변수가 추가되지 않으면 시스템은 make 컴파일 중에 오류를 보고합니다. 오류 메시지는 다음과 같습니다:

Generating phar.php

php-5.3.16/sapi/cli/php: error while loading 공유 라이브러리: libiconv.so.2: 공유 개체 파일을 열 수 없습니다. 해당 파일 또는 디렉터리가 없습니다.

다음 명령을 사용하세요:

make ZEND_EXTRA_LIBS='- liconv'

Makefile을 수정하고 ZEND_EXTRA_LIBS 줄에 -liconv를 추가할 수도 있습니다. 다음과 같습니다:

vi Makefile

make install

위 그림을 보면 Apache 구성을 확실히 알 수 있습니다. httpd 파일에서 PHP 지원을 활성화하고 libphp5.so 파일을 Apache의 모듈 디렉터리에 복사합니다.

3. php를 지원하도록 apache 구성

php를 설치한 후 apache 구성 파일인 httpd.conf를 수정하여 지원하도록 할 수 있습니다. php.php.

httpd.conf 파일에 다음 두 줄의 코드만 추가하면 됩니다:

LoadModule php5_module module/libphp5.so

AddType application/x-httpd-php .php

LoadModule php5_module module/libphp5.so 행은 다음을 볼 때 나타납니다. httpd.conf 파일 행이 이미 존재하는 것으로 나타났습니다. php를 설치할 때 추가되었기 때문입니다. 이제 AddType application/x-httpd-php .php 라인만 추가하면 됩니다.

vi /usr/local/apache2/conf/httpd.conf

또한 Apache의 기본 홈페이지 파일을 수정하고 index.php를 추가해야 합니다. 내용은 다음과 같습니다:

echo "">/usr/local/apache2/htdocs/index.php

cat /usr/local/apache2/htdocs/index.php

4. php 테스트

위 수정이 완료되면 apache를 다시 시작하고 다음 명령을 사용합니다.

/etc/init.d/httpd Graceful

이 명령은 Apache를 정상적으로 다시 시작할 수 있다는 점에 유의하세요.

다음과 같이 사이트를 엽니다.

위 그림을 보면 apache가 이미 php를 지원하고 있음을 확실히 알 수 있습니다.

위에서는 mud: php5.6 소스 코드 설치 및 아파치 통합 내용을 포함하여 PHP 튜토리얼에 관심이 있는 친구들에게 도움이 되기를 바랍니다.

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.