您的位置:首页 > 运维架构 > 网站架构

LAMP架构——PHP-5.6.30源码编译安装

2017-12-18 23:59 836 查看

PHP简介

PHP,是英文超文本预处理语言Hypertext Preprocessor的缩写。PHP 是一种 HTML

内嵌式的语言,是一种在服务器端执行的嵌入HTML文档的脚本语言。官网:www.php.net

安装步骤

1.初始化

[root@dl-001 src]# wget http://cn2.php.net/distributions/php-5.6.30.tar.gz      //下载

[root@dl-001 src]# tar zxvf php-5.6.30.tar.gz   //解压

[root@dl-001 src]# cd php-5.6.30/   //进入该目录
[root@dl-001 php-5.6.30]# ./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-apxs2=/usr/local/apache2.4/bin/apxs 该文件是Apache的一个工具,可以将扩展模块添加到Apache的module文件;

–with-config-file-path=/usr/local/php/etc 指定配置文件所在路径;

–with-mysql=/usr/local/mysql 指定mysql的路径;

–with-mysqli=/usr/local/mysql/bin/mysql_config

–with-pdo-mysql=/usr/local/mysql –with-mysqli=/usr/local/mysql/bin/mysql_config 上面两项参数是指定相关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

错误1

configure: error: xml2-config not found. Please check your libxml2 installation.


说明:缺少xml2库。

解决办法:

[root@dl-001 php-5.6.30]# yum list |grep libxml2        //查找相关的库安装包


[root@dl-001 php-5.6.30]# yum install -y libxml2-devel  //安装库文件


错误2

configure: error: Cannot find OpenSSL's <evp.h>


说明:缺少OpenSSL’s。

解决办法

[root@dl-001 php-5.6.30]# yum install -y openssl-devel


错误3

configure: error: Please reinstall the BZip2 distribution


说明:重新安装BZip2。

解决办法

[root@dl-001 php-5.6.30]# yum install -y bzip2-devel


错误4

configure: error: jpeglib.h not found.


说明:缺少jpeg库。

解决办法

[root@dl-001 php-5.6.30]# yum install -y libjpeg-devel


错误5

configure: error: png.h not found.


说明:缺少png库。

解决办法

[root@dl-001 php-5.6.30]# yum install -y libpng-devel


错误6

configure: error: freetype-config not found.


说明:缺少freetype库。

解决办法

[root@dl-001 php-5.6.30]# yum install -y freetype-devel


错误7

configure: error: mcrypt.h not found. Please reinstall libmcrypt.


说明:缺少mcrypt库。

解决办法

[root@dl-001 php-5.6.30]# yum install epel-release
[root@dl-001 php-5.6.30]# yum install -y libmcrypt-devel


2.编译和安装

[root@dl-001 php-5.6.30]# make  //编译
[root@dl-001 php-5.6.30]# echo $?  //检查上一条命令是否正确
0

[root@dl-001 php-5.6.30]# make install  //安装
[root@dl-001 php-5.6.30]# echo $?  //检查上一条命令是否正确
0


3.配置文件

[root@dl-001 php-5.6.30]# /usr/local/php/bin/php -i |less
[root@dl-001 php-5.6.30]# cp php.ini-production /usr/local/php/etc/php.ini
//正常情况下使用php.ini-production,开发环境可以使用php.ini-development

[root@dl-001 php-5.6.30]# cat /usr/local/apache2.4/conf/httpd.conf | grep php       //查看php是否被apache加载
LoadModule php5_module        modules/libphp5.so
LoadModule php7_module        modules/libphp7.so


说明:php软件是以模块的形式安装进apache的,在/usr/local/apache2.4/conf/httpd.conf文件内的。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  php