Apache 컴파일 후 PHP 모듈이 없습니다.

Apache 컴파일 후 PHP 모듈이 없습니다.

CentOS에 Apache 2.4 및 PHP 5.6을 설치하려고 하는데 올바르게 설치했으며 ./apachectl configtestphp -v. 문제는 Apache 설치에 Apache에 필요한 PHP 모듈이 포함되어 있지 않기 때문에 Apache가 PHP 스크립트를 인식하지 못한다는 것입니다.

유일한 것은PHP 문서httpd.conf내가 하라는 말은 다음을 추가하여 모듈을 추가하는 것뿐입니다.

# Extra Modules
AddModule mod_php.c
AddModule mod_perl.c

# Extra Modules
LoadModule php_module         modules/mod_php.so
LoadModule php5_module        modules/libphp5.so
LoadModule perl_module        modules/libperl.so
AddType application/x-httpd-php .php

서버를 시작하려고 하면 다음과 같이 출력됩니다.

httpd: Syntax error on line 156 of /usr/local/apache2/conf/httpd.conf: Cannot load modules/mod_php.so into server: /usr/
local/apache2/modules/mod_php.so: cannot open shared object file: No such file or directory

오류 없이 Apache와 PHP를 올바르게 컴파일했습니다.

나는 이것을 Apache용으로 컴파일하는 데 사용합니다.

./configure --with-included-apr=/usr
make
make install

PHP의 경우 다음과 같습니다.

./configure
make
make install

도움을 주시면 감사하겠습니다.

답변1

응답이 없는 것을 방지하기 위해.

Apache는 mod_php.soPHP를 구문 분석하거나 실행하는 방법을 모르기 때문에 빌드의 일부로 빌드할 수 없습니다. 반면에 PHP는 Apache가 어떻게 컴파일되었는지 알아야 합니다 mod_php.so.

  • --enable-so추가 모듈을 공유 라이브러리로 구축할 수 있도록 Apache에 대한 구성 스크립트입니다. apxs공유 라이브러리 구축을 위한 확장 도구를 만듭니다 .

  • 그리고 --with-apxs2=/path/to/apache.Apache 헤더를 구축, 검색 apxs, 생성 할 수 있는 PHP용 구성 스크립트가 있습니다 mod_php.so.

일반적 으로 *nix 시스템에서 Apache는 --prefix기본값 /usr/local으로 . 따라서 컴파일은 다음과 같이 실행되어야 합니다.apxs/usr/local/bin/apxs

첫 번째 Aapche ( httpd)에는 다음이 있습니다.

./configure --enable-so
make
make install

그러면 PHP는 다음과 같습니다.

./configure --with-apxs2=/usr/local/apache2/bin/apxs
make
make install

인용하다:

관련 정보