为了不影响实验效果,提前可以把selinux 和iptables 关闭  

[root@localhost ~]# chkconfig iptables off

[root@localhost ~]# chkconfig ip6tables off

[root@localhost ~]# /etc/init.d/iptables stop

[root@localhost ~]# /etc/init.d/ip6tables stop

[root@localhost ~]# sed -i "s/LINUX=.*/LINUX=disabled/g" /etc/selinux/config 

更改完selinux后要想生效需要重启一下服务器,reboot或者shutdown -r now 


第一步  安装yum扩展源

# yum install -y epel-release

备注:6.7前版本不支持,需要下一步

# wget -P /etc/yum.repos.d/ http://mirrors.aliyun.com/repo/epel-6.repo


第二步 安装依赖包

# yum install make apr* autoconf automake gcc gcc-c++ zlib-devel openssl openssl-devel pcre-devel gd  kernel keyutils  patch  perl kernel-headers compat* mpfr cpp glibc libgomp libstdc++-devel ppl cloog-ppl keyutils-libs-devel libcom_err-devel libsepol-devel libselinux-devel krb5-devel libXpm* freetype libjpeg* libpng* php-common php-gd ncurses* libtool* libxml2 libxml2-devel patch libmcrypt-devel php-mcrypt libmcrypt mcrypt freetype-devel freetype bzip2-devel bzip2-libs  libxml2 libxml2-devel libxml2-python


把这些包全部安装上就不会报错了,


第三步 安装php


1,下载

# cd /usr/local/src/

# wget http://cn2.php.net/distributions/php-5.4.45.tar.bz2


2,解压

# tar -jxvf php-5.4.45.tar.bz2


3,安装

# cd php-5.4.45

# ./configure --prefix=/usr/local/php --with-apxs2=/usr/local/apache2/bin/apxs --with-config-file-path=/usr/local/php/etc  --with-mysql=/usr/local/mysql --with-libxml-dir --with-gd --with-jpeg-dir --with-png-dir --with-freetype-dir --with-iconv-dir --with-zlib-dir --with-bz2 --with-openssl --with-mcrypt --enable-soap --enable-gd-native-ttf --enable-mbstring --enable-sockets --enable-exif --disable-ipv6


如果出现报错:sorry,i cannot run apxs.possible reasons follow:

解决方法:

# find / -name perl

/usr/bin/perl

#vim /usr/local/apache2/bin/apxs

把第一行改成  #!/usr/bin/perl -w



#make && make install && echo $?


# cp /usr/local/src/php-5.4.45/php.ini-production /usr/local/php/etc/php.ini

拷贝配置文件



测试

# apachectl -M

php5_module (shared)

检测php安装是否成功,用apache -M 查看apache动态模块是否加载php5


网页测试

Apache主配置文件为:/usr/local/apache2/conf/httpd.conf

# vim /usr/local/apache2/conf/httpd.conf

# If the AddEncoding directives above are commented-out, then you

# probably should define those extensions to indicate media types:

#

AddType application/x-compress .Z

AddType application/x-gzip .gz .tgz

AddType application/x-httpd-php .php     (定义apache解析PHP)

#


#

<IfModule dir_module>

DirectoryIndex index.html index.php

</IfModule>

#


[root@lanmp php-5.4.45]# cd /usr/local/apache2/htdocs/

[root@lanmp htdocs]# vi info.php

[root@lanmp htdocs]# cat info.php

<?php

phpinfo();

?>

在ie中输入  http://ip/info.php  

 php-5.4.45_php