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

linux高级知识,LAMP架构(三),PHP安装

2017-12-18 00:00 309 查看
PHP官网www.php.net
当前主流版本为5.6/7.1
cd /usr/local/src/

安装php5

wget http://cn2.php.net/distributions/php-5.6.30.tar.gz tar zxf php-5.6.30.tar.gz
cd 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                                                     //指定php安装路径
--with-apxs2=/usr/local/apache2.4/bin/apxs                     //apache工具,让apache支持php,表示使用apache2.0以上版本,apxs表示使用的apache1.0版本,apxs功能是使用mod_so中的LoadModule指令,加载指定模块到 apache,要求 apache 要打开SO模块。
--with-config-file-path=/usr/local/php/etc                       //指定php的配置文件。
--with-mysql=/usr/local/mysql                                         //指定mysql的安装路径
--with-pdo-mysql=/usr/local/mysql                                 //
--with-mysqli=/usr/local/mysql/bin/mysql_config            //mysqli扩展技术不仅可以调用MySQL的存储过程、处理MySQL事务,而且还可以使访问数据库工作变得更加稳定。
--with-libxml-dir                                                             //打开libxml2库的支持
--with-gd                                                                       //打开gd库的支持
--with-jpeg-dir                                                               //打开对jpeg图片的支持
--with-png-dir                                                               //打开对png图片的支持
--with-freetype-dir                                                        //打开对freetype字体库的支持
--with-iconv-dir                                                            //用于 PHP 编译时指定 iconv 在系统里的路径,否则会扫描默认路径。
--with-zlib-dir                                                               // 打开zlib库的支持,用于http压缩传输
--with-bz2                                                                    //打开对bz2文件的支持
--with-openssl                                                              //openssl的支持,加密传输https时用到的
--with-mcrypt                                                               //mcrypt算法扩展
--enable-soap                                                               //
--enable-gd-native-ttf                                                   //支持TrueType字符串函数库
--enable-mbstring                                                         //多字节,字符串的支持
--enable-sockets                                                           //打开 sockets 支持
--enable-exif                                                                 //图片的元数据支持

如无特殊要求,直接复制上面的参数初始化即可。



错误提示,缺少xml2库,安装即可。



因为我们编译的php的参数较多,所有要安装的包也较多,这里根据提示安装就行。

yum install -y libxml2-devel.x86_64
yum install -y openssl-devel
yum install -y bzip2-devel.x86_64
yum install -y libjpeg-devel
yum install -y libpng-devel
yum install -y freetype-devel
yum install libmcrypt-devel




出现上面这个界面即初始化完成,可以开始编译。
make && make install



查看php加载的模块:/usr/local/php/bin/php -m 这些模块都 是静态的模块。

查看apache的模块,可以看到php5的动态模块:/usr/local/apache2.4/bin/httpd -M





查看apache配置文件,可以看到多了一行加载php模块的语句,如果不想加载php模块可以注释掉。
由于我们指定了配置文件路径,所有这里要把php默认的参考配置文件拷贝一份到/usr/local/php/etc/目录下。
cp php.ini-production /usr/local/php/etc/php.ini

如果是开发环境,可以使用 php.ini-development这个配置文件,php.ini-production文件适合生成环境。

用命令 /usr/local/php/bin/php -i | less可以查看php的一些信息,编译参数,配置路径等。



安装php7

cd /usr/local/src/
wget http://cn2.php.net/distributions/php-7.1.6.tar.bz2 tar zxf php-7.1.6.tar.bz2
cd php-7.1.6
./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

以上同php5相同,只修改了安装路径和配置文件路径,其他不变。

make && make install
ls /usr/local/apache2.4/modules/libphp7.so
cp php.ini-production  /usr/local/php7/etc/php.ini




至于要使用哪个版本,需要在apache配置文件里面指定,即把不用的版本注释掉即可。

/usr/local/apache2.4/conf/httpd.conf

内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: