PHP安装及与apache整合

软件版本

  • 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
  1. 让apache解析PHP代码
    AddHandler php5-script .php
  2. 让apache解析html里的PHP代码
    AddType application/x-httpd-php .html

2.apache/htdos/中加入php文件如:info.php

<?php
phpinfo();
?>

3.重启apache

4.访问 http:ip/info.php 看是否被解析

    原文作者:April
    原文地址: https://segmentfault.com/a/1190000015622921
    本文转自网络文章,转载此文章仅为分享知识,如有侵权,请联系博主进行删除。
点赞