发布于2026-07-21 阅读(0)
扫一扫,手机访问
PHP的安装,说简单也简单,说复杂也复杂。关键在于搞清楚几个核心环节,尤其是版本选择和与Apache的整合。
PHP本身是用C语言编写的,这个大家都知道。下面我们先把PHP 5.6和PHP 7.1的安装过程走一遍,看看具体怎么操作。
先从下载源码开始。
1、下载:
用wget把源码包拽下来:
[root@centos7 package]# wget http://cn2.php.net/distributions/php-5.6.30.tar.gz
2、安装:
解压、安装依赖、配置,一步步来:
tar zxvf php-5.6.30.tar.gz cd php-5.6.30/ yum install -y libxml2-devel openssl-devel bzip2-devel libjpeg-devel libpng-devel freetype-devel libmcrypt-devel ./configure --prefix=/usr/local/php --with-apxs2=/usr/local/apache2.4/bin/apxs --with-config-file-path=/usr/local/php/etc --with-mysql=/usr/local/mysql --with-pdo-mysql=/usr/local/mysql --with-mysqli=/usr/local/mysql/bin/mysql_config --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
这里需要解释几个关键参数的含义:
--prefix=/usr/local/php:指定安装目录,这是所有软件包的惯例。--with-config-file-path=/usr/local/php/etc:指定PHP配置文件(php.ini)的存放路径。--with-mysql=/usr/local/mysql:指定MySQL的安装路径,用于连接MySQL数据库。--with-mysqli=/usr/local/mysql/bin/mysql_config和--with-pdo-mysql=/usr/local/mysql:这两项都是指定相关的MySQL库,确保PHP能正确操作数据库。其他参数,基本都是为了开启或编译进一些常用的PHP扩展模块,比如GD、OpenSSL、mbstring等。
配置完成后,执行echo $?检查一下,返回0表示成功。截图如下:

3、编译安装:
执行make开始编译,编译成功后如下图:

执行echo $?确认无误后,再执行make install:

最后,复制生产环境的配置文件:
cp php.ini-production /usr/local/php/etc/php.ini
安装完成后,用Apache的apachectl命令检查一下模块加载情况:
/usr/local/apache2.4/bin/apachectl -M
输出中应该能看到php5_module (shared),说明PHP模块已经成功加载到Apache中了。不仅如此,Apache的配置文件中也会自动添加相应的加载指令。查看一下:
[root@centos7 php-5.6.30]# cat /usr/local/apache2.4/conf/httpd.conf| grep 'php'
能看到LoadModule php5_module modules/libphp5.so,这就是Apache和PHP整合的关键。
接下来看看PHP 7的安装,过程和PHP 5大同小异,但有几个细节需要注意。
1、下载:
wget http://cn2.php.net/distributions/php-7.1.6.tar.bz2
注意,这次下载的是.bz2格式的压缩包。
2、解压:
tar -jxvf php-7.1.6.tar.bz2
如果系统没有安装bzip2,可能会报错,像这样:

解决方法很简单,安装一下就行:
yum install bzip2
3、进入源码目录:
cd php-7.1.6
4、配置:
配置参数与PHP 5基本一致,只是安装路径改成了/usr/local/php7:
./configure --prefix=/usr/local/php7 --with-apxs2=/usr/local/apache2.4/bin/apxs --with-config-file-path=/usr/local/php7/etc --with-pdo-mysql=/usr/local/mysql --with-mysqli=/usr/local/mysql/bin/mysql_config --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
5、编译:
make
6、安装:
make install
7、复制配置文件:
cp /data/package/php-7.1.6/php.ini-production /usr/local/php7/etc/php.ini
注意,这里的路径要根据实际情况调整。
8、检查Apache模块:
/usr/local/apache2.4/bin/apachectl -M
输出中会同时出现php5_module (shared)和php7_module (shared),这说明两个版本的PHP模块都被加载了。
9、查看Apache配置文件:
[root@centos7 etc]# cat /usr/local/apache2.4/conf/httpd.conf| grep 'php'
会看到类似这样的内容:
LoadModule php5_module modules/libphp5.so LoadModule php7_module modules/libphp7.so
10、版本切换:
现在问题来了,Apache同时加载了两个PHP模块,到底用哪个?很简单,在httpd.conf中,将不需要的那个版本注释掉,只保留你想要的版本即可。比如,如果你要用PHP 7,就把LoadModule php5_module那一行前面加上#号注释掉。
上一篇:php版本对比,PHP版本区别
售后无忧
立即购买>office旗舰店
售后无忧
立即购买>office旗舰店
售后无忧
立即购买>office旗舰店
售后无忧
立即购买>office旗舰店
正版软件
正版软件
正版软件
正版软件
正版软件
1
2
3
7
8