• 企业400电话
  • 微网小程序
  • AI电话机器人
  • 电商代运营
  • 全 部 栏 目

    企业400电话 网络优化推广 AI电话机器人 呼叫中心 网站建设 商标✡知产 微网小程序 电商运营 彩铃•短信 增值拓展业务
    详解Centos7源码编译安装 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-20160303/ldap.so"
    

    设置 OPcache 缓存:

    [opcache]
    zend_extension=/usr/local/php/lib/php/extensions/no-debug-zts-20160303/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安全函数:

    $ vim /usr/local/php/etc/php.ini

    默认值:

    disable_functions =

    修改为:

    复制代码 代码如下:
    disable_functions = passthru,exec,system,chroot,scandir,chgrp,chown,shell_exec,proc_open,proc_get_status,ini_alter,ini_alter,ini_restore,dl,openlog,syslog,readlink,symlink,popepassthru,stream_socket_server,escapeshellcmd,dll,popen,disk_free_space,checkdnsrr,checkdnsrr,getservbyname,getservbyport,disk_total_space,posix_ctermid,posix_get_last_error,posix_getcwd, posix_getegid,posix_geteuid,posix_getgid, posix_getgrgid,posix_getgrnam,posix_getgroups,posix_getlogin,posix_getpgid,posix_getpgrp,posix_getpid, posix_getppid,posix_getpwnam,posix_getpwuid, posix_getrlimit, posix_getsid,posix_getuid,posix_isatty, posix_kill,posix_mkfifo,posix_setegid,posix_seteuid,posix_setgid, posix_setpgid,posix_setsid,posix_setuid,posix_strerror,posix_times,posix_ttyname,posix_uname

    或通配:

    复制代码 代码如下:
    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
    
    

    创建php-cgi.sock存放目录

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

    配置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

    PHP整个安装过程已经完成。如果你是按照本文安装未成功的,希望你能留言说明错误原因,我将无偿协助你配置。

    如果你有好的建议完善该文章,非常欢迎你提出和改进,我们一起共同学习和进步。

    以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持脚本之家。

    上一篇:详解Nginx反向代理实现Kibana登录认证功能
    下一篇:详解Centos7 源码编译安装 Nginx1.13
  • 相关文章
  • 

    © 2016-2020 巨人网络通讯 版权所有

    《增值电信业务经营许可证》 苏ICP备15040257号-8

    详解Centos7源码编译安装 php7.2之生产篇 详解,Centos7,源码,编译,安装,