zoukankan      html  css  js  c++  java
  • CentOS编译安装php7.2

    介绍:

    久闻php7的速度以及性能那可是比php5系列的任何一版本都要快,具体性能有多好,建议还是先尝试下再说。如果你是升级或新安装,那你首先需要考虑php7和程序是否存在兼容性,如果程序是基于php5开发的,那么就需要考虑php7是否适合你当前的生产环境,今天我就实操并安装用于生产中。

    先安装php依赖包,否则在编译安装php7的过程当中会出现各种报错,安装完成后即可进入下一个环节。

     安装扩展包并更新系统内核:

    yum install epel-release -y
    yum update

    安装php依赖组件(包含Nginx依赖):

    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安装包解压:

    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

    设置变量并开始源码编译:

    cp -frp /usr/lib64/libldap* /usr/lib/
    ./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中文字符乱码,建议取消。

    开始安装:

    make -j 4 && make install

    完成安装后配置php.ini文件:

    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 相关参数:

    vim /usr/local/php/etc/php.ini
    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

    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存放目录

    mkdir /var/run/www/
    chown -R www:www /var/run/www

    配置php-fpm.conf

    vim /usr/local/php/etc/php-fpm.conf

    取下以下注释并填写完整路径:

    pid = /usr/local/php/var/run/php-fpm.pid

    至此php7已经安装完成。

    说明:禁用php函数,如果程序需要这些函数,可以取消禁止,新手建议忽略此步骤。

    创建system系统单元文件php-fpm启动脚本:

    vim /usr/lib/systemd/system/php-fpm.service

    添加如下变量内容:

    [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服务并加入开机自启动:

     

    systemctl enable php-fpm.service
    systemctl restart php-fpm.service
  • 相关阅读:
    Java实现 蓝桥杯VIP 算法训练 字符删除
    Java实现 蓝桥杯VIP 算法训练 字符删除
    Java实现 蓝桥杯VIP 算法训练 字符删除
    Java实现 蓝桥杯VIP 算法训练 字符删除
    Java实现 蓝桥杯VIP 算法训练 字符删除
    Java实现 蓝桥杯VIP 算法训练 字符串编辑
    Java实现 蓝桥杯VIP 算法训练 字符串编辑
    Java实现 蓝桥杯VIP 算法训练 字符串编辑
    Java实现 蓝桥杯VIP 算法训练 字符串编辑
    Java实现 蓝桥杯VIP 算法训练 字符串编辑
  • 原文地址:https://www.cnblogs.com/pengyunjing/p/8687097.html
Copyright © 2011-2022 走看看