11.10/11.11/11.12 安装PHP5
11.13 安装PHP7
PHP5安装
LAMP我们一般都是先安装MySQL Apache之后再去安装PHP的 PHP现在主流有两个大的版本一个是5 另一个是7 5版本我们使用PHP5.6
步骤
1.我们默认把所有安装的应用软件和包都放在/usr/local/src/目录下
1 | [root@localhost ~]# cd /usr/local/src/ ##移动到src目录下 |
2.下载并解压编译包
1 | [root@localhost src]# wget http://cn2.php.net/distributions/php-5.6.32.tar.bz2 |
3.初始化
1 | [root@localhost src]# cd php-5.6.32 |
--with-apxs2
是用来生成PHP模块--with-mysql
--with-pdo-mysql
--with-mysqli
是用来让PHP来驱动MySQL的--with-config-file-path
指定PHP配置文件的路径 PHP的配置文件是php.ini
剩下的都是让PHP支持更多的功能 都会以静态模块的形式来安装到PHP里
错误1
configure: error: xml2-config not found. Please check your libxml2 installation.
原因 缺少libxml2-devel包
[root@localhost php-5.6.32]# yum install -y libxml2-devel
查包思路:由于不知道少了哪个包 因此可以使用yum list |grep 关键词 来找包 多数是带devel的包
[root@localhost php-5.6.32]# yum list |grep xml2
错误2
configure: error: Cannot find OpenSSL’s <evp.h>
原因 缺少openssl-devel包
[root@localhost php-5.6.32]# yum install -y openssl-devel
错误3
checking for BZip2 in default path… not found
configure: error: Please reinstall the BZip2 distribution
原因 缺少bzip2-devel包
[root@localhost php-5.6.32]# yum install -y bzip2-devel
错误4
configure: error: jpeglib.h not found.
原因 缺少libjpeg-turbo-devel包
[root@localhost php-5.6.32]# yum install -y libjpeg-turbo-devel
错误5
configure: error: png.h not found.
原因 缺少libpng-devel包
[root@localhost php-5.6.32]# yum install -y libpng-devel
错误6
configure: error: freetype-config not found.
原因 缺少freetype-devel包
[root@localhost php-5.6.32]# yum install -y freetype-devel
错误7
configure: error: mcrypt.h not found. Please reinstall libmcrypt.
原因 缺少libmcrypt-devel包
[root@localhost php-5.6.32]# yum install -y libmcrypt-devel
4.编译
1 | [root@localhost php-5.6.32]# make |
5.安装
1 | [root@localhost php-5.6.32]# make install |
查看PHP已经安装的模块 此模块都是已经安装到PHP里头的
1 | [root@localhost php-5.6.32]# /usr/local/php/bin/php -m |
查看Apache模块
1 | [root@localhost php-5.6.32]# /usr/local/apache2.4/bin/apachectl -M |
多了个php5_module的模块出来 这个就是PHP的模块了
在/usr/local/apache2.4/modules/
下就会多出个libphp5.so的库文件出来
并且在/usr/local/apache2.4/conf/httpd.conf
apache的配置文件里头就会多了行参数来加载php5的模块
查看php的详细信息
1 | [root@localhost php-5.6.32]# /usr/local/php/bin/php -i |
可以查看到安装的参数 配置文件安装的路 暂时是空的
6.复制模版配置文件到指定的配置文件目录下
1 | [root@localhost php-5.6.32]# cp php.ini-development /usr/local/php/etc/php.ini |
php.ini-development
适合开发环境下使用php.ini-production
适合在生产环境下使用
PHP默认的配置文件叫php.ini
现在就成功找到配置文件了
PHP7安装
安装步骤和5.6的大同小异 只是安装的路径是/usr/local/php7/目录下
步骤
1.移动到/usr/local/src/目录下
1 | [root@localhost php-5.6.32]# cd /usr/local/src/ |
2.下载并解压并进入php7目录下
1 | [root@localhost src]# wget http://cn2.php.net/distributions/php-7.1.6.tar.bz2 |
3.初始化
1 | [root@localhost php-7.1.6]# ./configure --prefix=/usr/local/php7 \ |
这里和5不一样除了是安装目录不同还有少了--with-mysql
4.编译
1 | [root@localhost php-7.1.6]# make |
5.安装
1 | [root@localhost php-7.1.6]# make install |
6.复制配置文件并查看是否加载路径成功
1 | [root@localhost php-7.1.6]# cp php.ini-development /usr/local/php7/etc/php.ini |
安装完成后发现多了一个php7的模块
我们这个同一个机器上安装了两个php 因此需要在http的配置文件上注释掉其中一个1
[root@localhost php-7.1.6]# vim /usr/local/apache2.4/conf/httpd.conf