LAMP架构(3) 安装PHP5、安装PHP7

安装PHP5

PHP官网 www.php.net
当前主流版本为5.6/7.1
新机器安装php会缺很多依赖的包,报错缺包的提醒可能达10次,所以要有耐心看,没个报缺对应1-2个包,下面举几个例子:
1)configure: error: Cannot find OpenSSL's <evp.h>
yum install -y openssl openssl-devel
2)configure: error: Please reinstall the BZip2 distribution
yum install -y bzip2 bzip2-devel
3)configure: error: jpeglib.h not found.
yum -y install libjpeg-devel
4)configure: error: png.h not found.
yum install -y libpng libpng-devel
5)configure: error: freetype-config not found.
yum install -y freetype freetype-devel

下载解压
[root@aliyun src]#cd /usr/local/src/
[root@aliyun src]# wget http://cn2.php.net/distributions/php-5.6.36.tar.gz
[root@aliyun php-5.6.36]#cd php-5.6.36
配置
[root@aliyun php-5.6.36]# ./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
[root@aliyun php-5.6.36]# echo $?
0 验证配置
编译,安装,验证
[root@aliyun php-5.6.36]# make
[root@aliyun php-5.6.36]# echo $?
0
[root@aliyun php-5.6.36]# make install
[root@aliyun php-5.6.36]# echo $?
0
[root@aliyun php-5.6.36]# /usr/local/php/bin/php -m 查看php5加载的模块
[root@aliyun php-5.6.36]# /usr/local/apache2.4/modules/libphp5.so php5给httpd调用的模块
[root@aliyun php-5.6.36]# cp php.ini-production /usr/local/php/etc/php.ini 拷贝配置模板到安装路径



安装PHP7
下载解压
[root@aliyun src]#cd /usr/local/src/
[root@aliyun src]# wget http://cn2.php.net/distributions/php-7.2.5.tar.gz
cd php-7.2.5
[root@aliyun src]# tar zxvf php-7.2.5.tar.gz
[root@aliyun src]# cd php-7.2.5
配置
[root@aliyun php-7.2.5]# ./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
[root@aliyun php-7.2.5]# echo $?
0 验证配置
编译,安装,验证
[root@aliyun php-7.2.5]# make
[root@aliyun php-7.2.5]# echo $?
0
[root@aliyun php-7.2.5]# make install
[root@aliyun php-7.2.5]# echo $?
0
[root@aliyun php-7.2.5]# /usr/local/php7/bin/php -m 查看php7加载的模块
[root@aliyun php-7.2.5]# /usr/local/apache2.4/modules/libphp7.so php7给httpd调用的模块
[root@aliyun php-7.2.5]# cp php.ini-production /usr/local/php7/etc/php.ini 拷贝配置模板到安装路径

两个php可以同时存在,但需要指定httpd调用的模块,在httpd的配置文件/usr/local/apache2.4/conf/ httpd.conf里,注释掉其中一个:
LoadModule php5_module
LoadModule php7_module

不然会报错如下:

#/usr/local/apache2.4/bin/apachectl start
/usr/local/apache2.4/bin/apachectl: line 79: 23642 Segmentation fault $HTTPD -k $ARGV

猜你喜欢

转载自blog.csdn.net/langyue919/article/details/80446154