centos7 php7.1.2编译安装 - Go语言中文社区

centos7 php7.1.2编译安装


编译安装php7需要安装一些依赖包,比如libmcrypt,libxslt-devel libjpeg libjpeg-devel libpng libpng-devel freetype freetype-devel libxml2 libxml2-devel zlib zlib-devel glibc glibc-devel glib2 glib2-devel bzip2 bzip2-devel ncurses ncurses-devel curl curl-devel e2fsprogs e2fsprogs-devel krb5 krb5-devel libidn libidn-devel openssl openssl-devel mhash autoconf,当然,有些依赖包可以yum安装。

1.安装libmcrypt
下载:https://jaist.dl.sourceforge.net/project/mcrypt/Libmcrypt/2.5.8/libmcrypt-2.5.8.tar.gz
编译安装libmcrypt

[root@localhost ~]# tar zxvf libmcrypt-2.5.8.tar.gz
[root@localhost ~]# cd libmcrypt-2.5.8
[root@localhost libmcrypt-2.5.8]# ./configure –prefix=/usr/local/related/libmcrypt
[root@localhost libmcrypt-2.5.8]# make && make install

yum安装其他依赖包:

[root@localhost ~]# yum install libxslt-devel libjpeg libjpeg-devel libpng libpng-devel freetype freetype-devel libxml2 libxml2-devel zlib zlib-devel glibc glibc-devel glib2 glib2-devel bzip2 bzip2-devel ncurses ncurses-devel curl curl-devel e2fsprogs e2fsprogs-devel krb5 krb5-devel libidn libidn-devel openssl openssl-devel mhash autoconf

安装php7
下载:http://cn2.php.net/distributions/php-7.1.2.tar.gz
编译安装php

[root@localhost tmp]# tar -zxf php-php-7.1.2.tar.gz
[root@localhost tmp]# cd php-7.1.2
[root@localhost php-7.1.2]# ./configure –prefix=/usr/local/php –with-mysql-sock=/var/lib/mysql/mysql.sock –with-pdo-mysql=/usr/local/mysql/ –with-mysqli=/usr/local/mysql/ –with-gd –with-png-dir –with-jpeg-dir –with-freetype-dir –with-xpm-dir=/usr/lib –with-zlib-dir=/usr/local/zlib/ –enable-bcmath –enable-shmop –enable-sysvsem –enable-fpm –enable-mbstring –enable-ftp –enable-gd-native-ttf –with-openssl –enable-opcache –enable-pcntl –enable-sockets –enable-sysvmsg –enable-sysvsem –enable-sysvshm –with-xmlrpc –enable-zip –enable-soap –without-pear –with-mcrypt=/usr/local/libmcrypt/ –with-curl –with-mhash –with-openssl=/usr/local/openssl/ –with-mysqli=shared,mysqlnd –with-pdo-mysql=shared,mysqlnd –with-fpm-user=nginx –with-fpm-group=nginx
[root@localhost php-7.1.2]# make && make install
编译成功
[root@localhost php-7.1.2]# make && make install
安装成功

[root@localhost php-7.1.2]# ls -lrt /usr/local/php/lib/php/extensions/no-debug-non-zts-20160303/   ###检测是否安装成功,如果没有生成如下.so   .a 文件,不能关联数据库
![检查](https://img-blog.csdn.net/20170316114225018?watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQvd2ViZGV2X2w=/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/SouthEast)

开始设置PHP7的配置文件php.ini、php-fpm.conf、www.conf和php-fpm脚本
推荐使用github中的配置(https://github.com/lizer2014/mylnmp
查看php.ini配置文件路径

    [root@localhost php-7.1.2]# /usr/local/php/bin/php --ini
    ![这里写图片描述](http://img.blog.csdn.net/20170316141114222?watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQvd2ViZGV2X2w=/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/SouthEast)

显示在lib下面,所有我们应该拷贝源码包里面配置文件到/usr/local/php/lib下面

[root@localhost php-7.1.2]# cp php.ini-production /usr/local/php/lib/php.ini

[root@localhost php-7.1.2]# cp /tmp/php-7.1.2/sapi/fpm/init.d.php-fpm /etc/init.d/php-fpm

[root@localhost php-7.1.2]# cp /usr/local/php/etc/php-fpm.conf.default /usr/local/php/etc/php-fpm.conf

[root@localhost php-7.1.2]# cp /usr/local/php/etc/php-fpm.d/www.conf.default /usr/local/php/etc/php-fpm.d/www.conf

[root@localhost php-7.1.2]# vim /usr/local/php/lib/php.ini
######避免PHP信息暴露在http头中
expose_php = Off

######避免暴露php调用mysql的错误信息
display_errors = Off

######在关闭display_errors后开启PHP错误日志(路径在php-fpm.conf中配置)
log_errors = On

######设置PHP的扩展库路径
extension_dir = "/usr/local/php/lib/php/extensions/no-debug-non-zts-20160303/"

######设置PHP的opcache和mysql动态库
zend_extension=opcache.so
extension=mysqli.so
extension=pdo_mysql.so

######设置PHP的时区
date.timezone = PRC

######开启opcache
[opcache]
; Determines if Zend OPCache is enabled
opcache.enable=1

######设置PHP脚本允许访问的目录(需要根据实际情况配置)
;open_basedir = /usr/share/nginx/html;


加入环境变量
[root@localhost php-7.1.2]# echo -e 'nexport PATH=/usr/local/php/bin:/usr/local/php/sbin:$PATHn' >> /etc/profile && source /etc/profile



#######设置PHP日志目录和php-fpm的运行进程ID文件(php-fpm.sock)目录
[root@localhost php-7.1.2]# groupadd -r nginx && useradd -r -g nginx -s /bin/false -M nginx

[root@localhost php-7.1.2]# mkdir -p /var/log/php-fpm/ && mkdir -p /var/run/php-fpm && cd /var/run/ && chown -R nginx:nginx php-fpm
#######修改session的目录配置
[root@localhost run]# mkdir -p /var/lib/php/session

[root@localhost run]# chown -R nginx:nginx /var/lib/php

######配置开机自启动,增加到主机sysV服务
[root@localhost run]# chmod +x /etc/init.d/php-fpm

[root@localhost init.d]# chkconfig --add php-fpm 

[root@localhost init.d]# chkconfig php-fpm on
[root@localhost init.d]# php-fpm -t

[19-Jul-2016 00:29:28] NOTICE: configuration file /usr/local/php/etc/php-fpm.conf test is successful     ###测试是否成功

[root@localhost init.d]# service php-fpm start

[root@localhost init.d]# service php-fpm restart

mysql使用yum安装,php的编译安装使用如下编译

[root@localhost php-7.1.2]# ./configure –prefix=/usr/local/php –with-gd –with-gettext –with-iconv-dir –with-mysqli –with-pdo-mysql –with-pdo-sqlite –with-png-dir –with-mysql-sock=/var/lib/mysql/mysql.sock –with-jpeg-dir –with-freetype-dir –with-xpm-dir=/usr/lib –with-zlib-dir=/usr/local/zlib/ –enable-bcmath –enable-shmop –enable-sysvsem –enable-fpm –enable-mbstring –enable-ftp –enable-gd-native-ttf –with-openssl –enable-opcache –enable-pcntl –enable-sockets –enable-sysvmsg –enable-sysvsem –enable-sysvshm –with-xmlrpc –enable-zip –enable-soap –without-pear –with-mcrypt=/usr/local/libmcrypt/ –with-curl –with-mhash –with-openssl=/usr/local/openssl/ –with-mysqli=shared,mysqlnd –with-pdo-mysql=shared,mysqlnd –with-fpm-user=nginx –with-fpm-group=nginx

特别提醒

配置文件php.ini添加扩展的时候,不要添加mysqli.so和pdo-mysql.so扩展,是默认添加了的;其他步骤一样

版权声明:本文来源CSDN,感谢博主原创文章,遵循 CC 4.0 by-sa 版权协议,转载请附上原文出处链接和本声明。
原文链接:https://blog.csdn.net/webdev_l/article/details/62422641
站方申明:本站部分内容来自社区用户分享,若涉及侵权,请联系站方删除。
  • 发表于 2021-06-20 19:01:57
  • 阅读 ( 707 )
  • 分类:Linux

0 条评论

请先 登录 后评论

官方社群

GO教程

猜你喜欢