CentOS编译安装php7.2
2018-10-20 05:02
387 查看
介绍:
久闻php7的速度以及性能那可是比php5系列的任何一版本都要快,具体性能有多好,建议还是先尝试下再说。如果你是升级或新安装,那你首先需要考虑php7和程序是否存在兼容性,如果程序是基于php5开发的,那么就需要考虑php7是否适合你当前的生产环境,今天我就实操并安装用于生产中。
先安装php依赖包,否则在编译安装php7的过程当中会出现各种报错,安装完成后即可进入下一个环节。
安装扩展包并更新系统内核:
[code]yum install epel-release -y yum update
安装php依赖组件(包含Nginx依赖):
[code]yum -y install wget vim pcre pcre-devel openssl openssl-devel libicu-devel gcc gcc-c++ autoconf libjpeg libjpeg-devel libpng libpng-devel freetype freetype-devel libxml2 libxml2-devel zlib zlib-devel glibc glibc-devel glib2 glib2-devel ncurses ncurses-devel curl curl-devel krb5-devel libidn libidn-devel openldap openldap-devel nss_ldap jemalloc-devel cmake boost-devel bison automake libevent libevent-devel gd gd-devel libtool* libmcrypt libmcrypt-devel mcrypt mhash libxslt libxslt-devel readline readline-devel gmp gmp-devel libcurl libcurl-devel openjpeg-devel
创建用户和组,并下载php安装包解压:
[code]cd /tmp groupadd www useradd -g www www wget http://am1.php.net/distributions/php-7.2.1.tar.gz tar xvf php-7.2.1.tar.gz cd php-7.2.1
设置变量并开始源码编译:
[code]cp -frp /usr/lib64/libldap* /usr/lib/
[code]./configure --prefix=/usr/local/php \ --with-config-file-path=/usr/local/php/etc \ --enable-fpm \ --with-fpm-user=www \ --with-fpm-group=www \ --enable-mysqlnd \ --with-mysqli=mysqlnd \ --with-pdo-mysql=mysqlnd \ --enable-mysqlnd-compression-support \ --with-iconv-dir \ --with-freetype-dir \ --with-jpeg-dir \ --with-png-dir \ --with-zlib \ --with-libxml-dir \ --enable-xml \ --disable-rpath \ --enable-bcmath \ --enable-shmop \ --enable-sysvsem \ --enable-inline-optimization \ --with-curl \ --enable-mbregex \ --enable-mbstring \ --enable-intl \ --with-mcrypt \ --with-libmbfl \ --enable-ftp \ --with-gd \ --enable-gd-jis-conv \ --enable-gd-native-ttf \ --with-openssl \ --with-mhash \ --enable-pcntl \ --enable-sockets \ --with-xmlrpc \ --enable-zip \ --enable-soap \ --with-gettext \ --disable-fileinfo \ --enable-opcache \ --with-pear \ --enable-maintainer-zts \ --with-ldap=shared \ --without-gdbm
若无报错执行下一步安装,如果编译过程中出现错误,根据报错安装依赖包,通常不会出现这种问题。
注意:–enable-gd-jis-conv 此参数会导致Zabbix中文字符乱码,建议取消。
开始安装:
[code]make -j 4 && make install
完成安装后配置php.ini文件:
[code]cp php.ini-development /usr/local/php/etc/php.ini cp /usr/local/php/etc/php-fpm.conf.default /usr/local/php/etc/php-fpm.conf cp /usr/local/php/etc/php-fpm.d/www.conf.default /usr/local/php/etc/php-fpm.d/www.conf
修改 php.ini 相关参数:
[code]vim /usr/local/php/etc/php.ini
[code]expose_php = Off short_open_tag = ON max_execution_time = 300 max_input_time = 300 memory_limit = 128M post_max_size = 32M date.timezone = Asia/Shanghai mbstring.func_overload=2 extension = "/usr/local/php/lib/php/extensions/no-debug-zts-20170718/ldap.so" #OPcache 缓存 [opcache] zend_extension=/usr/local/php/lib/php/extensions/no-debug-zts-20170718/opcache.so opcache.memory_consumption=128 opcache.interned_strings_buffer=8 opcache.max_accelerated_files=4000 opcache.revalidate_freq=60 opcache.fast_shutdown=1 opcache.enable_cli=1 #设置php安全函数 disable_functions = passthru,exec,system,chroot,chgrp,chown,shell_exec,proc_open,proc_get_status,popen,ini_alter,ini_restore,dl,openlog,syslog,readlink,symlink,popepassthru #配置www.conf listen = /var/run/www/php-cgi.sock listen.owner = www listen.group = www listen.mode = 0660 listen.allowed_clients = 127.0.0.1 pm = dynamic listen.backlog = -1 pm.max_children = 180 pm.start_servers = 50 pm.min_spare_servers = 50 pm.max_spare_servers = 180 request_terminate_timeout = 120 request_slowlog_timeout = 50 slowlog = var/log/slow.log
配置www.conf
[code]listen = /var/run/www/php-cgi.sock listen.owner = www listen.group = www listen.mode = 0660 listen.allowed_clients = 127.0.0.1 pm = dynamic listen.backlog = -1 pm.max_children = 180 pm.start_servers = 50 pm.min_spare_servers = 50 pm.max_spare_servers = 180 request_terminate_timeout = 120 request_slowlog_timeout = 50 slowlog = var/log/slow.log
创建php-cgi.sock存放目录
[code]mkdir /var/run/www/ chown -R www:www /var/run/www
配置php-fpm.conf
[code]vim /usr/local/php/etc/php-fpm.conf
取下以下注释并填写完整路径:
[code]pid = /usr/local/php/var/run/php-fpm.pid
至此php7已经安装完成。
说明:禁用php函数,如果程序需要这些函数,可以取消禁止,新手建议忽略此步骤。
创建system系统单元文件php-fpm启动脚本:
[code]vim /usr/lib/systemd/system/php-fpm.service
添加如下变量内容:
[code][Unit] Description=The PHP FastCGI Process Manager After=syslog.target network.target [Service] Type=simple PIDFile=/usr/local/php/var/run/php-fpm.pid ExecStart=/usr/local/php/sbin/php-fpm --nodaemonize --fpm-config /usr/local/php/etc/php-fpm.conf ExecReload=/bin/kill -USR2 $MAINPID [Install] WantedBy=multi-user.target
启动php-fpm服务并加入开机自启动:
[code]systemctl enable php-fpm.service systemctl restart php-fpm.service
添加 PHP 命令到环境变量
[code]vim /etc/profile
在末尾加入
[code]PATH=$PATH:/usr/local/php/bin export PATH
要使改动立即生效执行
[code]./etc/profile
或者
[code]source /etc/profile
查看环境变量
[code]echo $PATH
查看PHP版本
[code]php -v
阅读更多
相关文章推荐
- CentOS7源码包编译安装php7.2完整版
- CentOS 7.2 下编译安装PHP7.0.10+MySQL5.7.14+Nginx1.10.1的方法详解(mini版本)
- Centos7.2 编译安装PHP7.0.2
- CentOS 7.2 下编译安装PHP7.0.10+MySQL5.7.14+Nginx1.10.1的方法详解(mini版本)
- CentOs 7.2 安装PHP7.2 编译安装
- 详解Centos7源码编译安装 php7.2之生产篇
- centos7.4搭建lnmp ###编译安装 nginx1.12 php7.2 ###
- Centos7.2 编译安装PHP7.0.2的步骤
- CentOS 6.5下PHP 5.6编译安装
- centos php编译安装
- CentOS编译安装apache + php环境
- 在CentOS6.8上编译安装apache+php+mariadb(整理版)
- CentOS6.6 32位 Minimal版本纯编译安装Nginx Mysql PHP Memcached
- centos 7.0 编译安装php 5.6.7
- CentOS 6.0 最小化编译安装Apache+MySQL+PHP+Zend
- CentOS 6.2 上编译安装 Nginx 1.0.15 + PHP 5.3.12 + MySQL 5.1.62
- CentOS 6编译安装PHP
- CentOS单独编译安装PHP gd库扩展
- centos 7 min 编译安装php5.6+nginx1.7.5 笔记
- Centos 6.5系统下编译安装PHP 7.0.13的方法