軟體版本
- apache 2.4.29
- php 5.4.45
php安裝
# tar -zxvf php-5.4.45.tar.gz
# cd php-5.4.45
# ./configure --prefix=/usr/local/php --with-apxs2=/usr/local/apache2/bin/apxs --with-libxml2=/usr/include/libxml2
# make
# make install
安裝中的錯誤及解決
如下步驟出現錯誤
/configure –prefix=/usr/local/php –with-apxs2=/usr/local/apache2/bin/apxs –with-libxml2=/usr/include/libxml2
錯誤log:
Sorry, I cannot run apxs. Possible reasons follow:
1. Perl is not installed
2. apxs was not found. Try to pass the path using --with-apxs2=/path/to/apxs
3. Apache was not built using --enable-so (the apxs usage page is displayed)
The output of /usr/local/apache2/bin/apxs follows:
./configure: /usr/local/apache2/bin/apxs: /replace/with/path/to/perl/interpreter: bad interpreter: No such file or directory
configure: error: Aborting
按照提示安裝perl
# perl -v //先檢視果然沒安裝
# yum install -y perl
# perl -v //安裝成功
This is perl, v5.10.1 (*) built for x86_64-linux-thread-multi
Copyright 1987-2009, Larry Wall
Perl may be copied only under the terms of either the Artistic License or the
GNU General Public License, which may be found in the Perl 5 source kit.
Complete documentation for Perl, including FAQ lists, should be found on
this system using "man perl" or "perldoc perl". If you have access to the
Internet, point your browser at http://www.perl.org/, the Perl Home Page.
再次./configure仍然提示這個錯誤。於是百度。。。。
才知道需要先按照perl再按照apache才行,不安裝perl的情況下安裝apache,apxs就無法執行。
補救辦法:
檢視檔案
# cat /usr/local/apache2/bin/apxs
第一行是 #!/replace/with/path/to/perl/interpreter -w
改為:#!/usr/bin/perl -w
再次:
./configure --prefix=/usr/local/php --with-apxs2=/usr/local/apache2/bin/apxs --with-libxml2=/usr/include/libxml2
成功!
與apache整合
1.httpd.conf修改
如果php安裝正確,apache的配置檔案會自動被備份(httpd.conf.bak)和修改,修改如下
開啟如下注釋,載入php模組。
LoadModule php5_module modules/libphp5.so
如果想讓apache解析php檔案,還需要在httpd.conf中加入(#AddOutputFilter INCLUDES .shtml下面):
AddType application/x-httpd-php .html
AddHandler php5-script .php
- 讓apache解析PHP程式碼
AddHandler php5-script .php - 讓apache解析html裡的PHP程式碼
AddType application/x-httpd-php .html
2.apache/htdos/中加入php檔案如:info.php
<?php
phpinfo();
?>