不言不语

您现在的位置是: 首页 >  PHP

PHP

CentOS编译安装Apache2.4+PHP5.6

2022-06-05PHP
CentOS下YUM安装PHP和Apache是比较简单的,可是一般默认情况下的PHP版本是5.3,Apache版本是2.2。因为考虑到PHP版本和Apache版本越高性能越好,就打算在CentOS下编译安装Apache2.4+PHP5.6。现在总结一份比较完整的CentOS编译安装Apache2.4+PHP5.6安装步骤分享给大家。

1、下载Apache2.4+PHP5.6源码包

从http://httpd.apache.org/download.cgi#apache2.4下载httpd-2.4.29.tar.gz
从http://php.net/downloads.php下载php-5.6.16.tar.gz源码包
从http://sourceforge.net/projects/pcre/files/pcre/8.32/ 下载pcre-8.32.tar.gz

2、先装gcc和make编译工具

1

[root@LAMP php-5.6.16]# yum -y install gcc make gcc-c++ //没有这个gcc-c++一会编译不prce

切到下载好的源码包目录,以系统根目录/LAMP为例。

3、解压Apache2.4依赖包,安装apr、apr-util和pcre,编译安装Apache2.4

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25

[root@LAMP download]# tar -zxvf httpd-2.4.29.tar.gz
安装apr
[root@LAMP download]# cd apr
[root@LAMP apr]# ./configure --prefix=/usr/local/apr
[root@LAMP apr]# make && make install

安装apr-util
[root@LAMP apr-util]# cd ../apr-util
[root@LAMP apr-util]# ./configure --prefix=/usr/local/apr-util --with-apr=/usr/local/apr
[root@LAMP apr-util]# make && make install

安装pcre
[root@LAMP apr-util]# cd /LAMP
[root@LAMP LAMP]# tar -zvxf pcre-8.32.tar.gz
[root@LAMP LAMP]# cd pcre-8.32
[root@LAMP pcre-8.32]# ./configure  --prefix=/usr/local/pcre
[root@LAMP pcre-8.32]# make && make install

安装Apache2.4必须要先安装apr、apr-util和pcre
[root@LAMP pcre-8.32]# cd /LAMP
[root@LAMP LAMP]# tar -zvxf httpd-2.4.29.tar.gz
[root@LAMP LAMP]# cd httpd-2.4.29
[root@LAMP httpd-2.4.17]# cp -r ../apr ../apr-util ./srclib //去掉apr、apr-util版本号
[root@LAMP httpd-2.4.17]# ./configure --prefix=/usr/local/apache --with-included-apr --with-included-apr-util --with-apr-util=/usr/local/apr-util --with-apr=/usr/local/apr --with-pcre=/usr/local/pcre
[root@LAMP httpd-2.4.17]# make && make install

4、编译安装PHP5.6

1
2
3
4
5
6
7
8
9
10
11

[root@LAMP httpd-2.4.29]# cd /LAMP
[root@LAMP LAMP]# yum -y install libxml2-devel #不装这个编译不了PHP5.6
[root@LAMP LAMP]# yum -y install libjpeg libjpeg-devel libpng libpng-devel freetype freetype-devel png jpeg gd #开启GD库需要的依赖
[root@LAMP LAMP]# yum -y install curl curl-devel #开启CURL库需要的依赖
[root@LAMP LAMP]# tar -zvxf php-5.6.16.tar.gz
[root@LAMP LAMP]# cd php-5.6.16
[root@LAMP php-5.6.16]# ./configure --prefix=/usr/local/php --with-config-file-path=/usr/local/php/etc --enable-fpm --enable-sysvsem --enable-sockets --enable-pcntl --enable-mbstring --enable-mysqlnd --enable-pdo --with-pdo-mysql --enable-opcache --enable-shmop --enable-zip --enable-ftp --enable-gd-native-ttf --enable-wddx --enable-soap --with-png-dir --with-freetype-dir --with-jpeg-dir --with-gd --with-mysqli
[root@LAMP php-5.6.16]# make && make install
拷贝一份正式的php-fpm.conf和php.ini配置文件
[root@LAMP php-5.6.16]# cp /usr/local/php/etc/php-fpm.conf.default /usr/local/php/etc/php-fpm.conf
[root@LAMP php-5.6.16]# cp ./php.ini-production /usr/local/php/etc/php.ini

备注:编译时加上–with-apxs2=/usr/local/apache2/bin/apxs 参数则是把PHP作为Apache模块运行。

启动和关闭

1
2

[root@LAMP php-5.6.16]# /usr/local/php/sbin/php-fpm
[root@LAMP php-5.6.16]# killall php-fpm

5、编辑apache配置httpd.conf文件:

1
2
3
4
5
6
7
8
9
10
11
12

[root@LAMP php-5.6.16]# vi /usr/local/apache/conf/httpd.conf

把这三行前面的#号去掉
LoadModule proxy_module modules/mod_proxy.so
LoadModule proxy_fcgi_module modules/mod_proxy_fcgi.so
LoadModule rewrite_module modules/mod_rewrite.so #开启rewrite

在最下面加两行:
#proxy php
ServerName 127.0.0.1
ProxyPassMatch ^/(.*\.php(/.*)?)$ fcgi://127.0.0.1:9000/usr/local/apache/htdocs/$1
保存退出:wq

重启

1

[root@LAMP php-5.6.16]# /usr/local/apache/bin/apachectl restart

到这里,CentOS编译安装Apache2.4+PHP5.6就配置完了,在实际的安装过程中可能还是会越到了坑,一般报错就是因为PHP依赖包没有安装。Apache2.4+PHP5.6安装配置成功了可以写个phpinfo的文件,看一下常用的扩展是否装好。还有一点需要注意的是,上线尽量和开发的保持一致,不然使用一些废弃的PHP函数就很头疼了。


文章评论