CentOSにApache 2.4とPHP 5.6をインストールしようとしていましたが、正しくインストールされてい./apachectl configtest
ますphp -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.so
PHPを解析または実行する方法がわからないため、ビルドの一部としてビルドすることはできません。一方、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
引用: