yum -y install libxml2 libxml2-devel openssl openssl-devel curl-devel libjpeg-devel libpng-devel freetype-devel libmcrypt-devel ??openldap ??openldap-devel ?libxslt ?libxslt-develcp -frp /usr/lib64/libldap* ??/usr/lib/ln -s /usr/lib64/liblber* ???/usr/lib/groupadd -g 58 nginxuseradd -u 58 -g 58 -M nginx -s /sbin/nologincd /usr/local/srcwget http://cn2.php.net/distributions/php-7.2.0.tar.gz
tar -zxvf php-7.2.0.tar.gzcd php-7.2.0/./configure --prefix=/usr/local/php7 --exec-prefix=/usr/local/php7 --bindir=/usr/local/php7/bin --sbindir=/usr/local/php7/sbin --includedir=/usr/local/php7/include --libdir=/usr/local/php7/lib/php --mandir=/usr/local/php7/php/man --with-config-file-path=/usr/local/php7/etc --with-mysql-sock=/var/run/mysql/mysql.sock -with-libxml-dir=/usr ??--with-iconv-dir ?--with-mhash --with-openssl --with-mysqli=shared,mysqlnd --with-pdo-mysql=shared,mysqlnd --with-gd --with-iconv --with-zlib --enable-zip --with-ldap=shared ?--with-ldap-sasl ?--enable-inline-optimization --disable-debug --disable-rpath --enable-shared --enable-xml --enable-bcmath --enable-shmop --enable-sysvsem --enable-mbregex --enable-mbstring --enable-ftp --enable-pcntl --enable-sockets --with-xmlrpc --enable-soap --without-pear --with-gettext --enable-session --with-curl --with-jpeg-dir --with-freetype-dir --enable-opcache --enable-fpm --with-fpm-user=nginx --with-fpm-group=nginx --without-gdbm --disable-fileinfo ?--with-xslmake && make installll ?/usr/local/php7/lib/php/extensions/no-debug-non-zts-20170718/
直接使用编译后未经优化处理的配置cp php.ini-production /usr/local/php7/etc/php.inicp sapi/fpm/init.d.php-fpm /etc/init.d/php-fpm修改配置文件vim /usr/local/php7/etc/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/php7/lib/php/extensions/no-debug-non-zts-20170718/"######设置PHP的opcache和mysql动态库zend_extension=opcache.soextension=mysqli.soextension=pdo_mysql.soextension=ldap.so######设置PHP的时区date.timezone = PRC######开启opcache[opcache]opcache.enable=1######设置PHP脚本允许访问的目录(需要根据实际情况配置)open_basedir = /etc/nginx/html;vim /usr/local/php7/etc/php-fpm.conf[global]pid = /usr/local/php7/var/run/php-fpm.piderror_log = /usr/local/php7/var/log/php-fpm.loglog_level = notice[www]listen = /var/run/php-fpm/php-fpm.sock ???????### 或者 ??127.0.0.1:9000listen.backlog = -1listen.allowed_clients = 127.0.0.1listen.owner = nginxlisten.group = nginxlisten.mode = 0666user = nginxgroup = nginxpm = dynamicpm.max_children = 80pm.start_servers = 40pm.min_spare_servers = 40pm.max_spare_servers = 80request_terminate_timeout = 100request_slowlog_timeout = 10sslowlog = /var/log/php-fpm/$pool-slow.log######设置php的session目录(所属用户和用户组都是nginx)php_value[session.save_handler] = filesphp_value[session.save_path] = /var/lib/php/sessionecho -e ‘\nexport PATH=/usr/local/php7/bin:/usr/local/php7/sbin:$PATH\n‘ >> /etc/profile && source /etc/profilemkdir -p /var/log/php-fpm/ && mkdir -p /var/run/php-fpm && cd /var/run/ && chown -R nginx:nginx php-fpmmkdir -p /var/lib/php/sessionchown -R nginx:nginx /var/lib/phpchmod +x /etc/init.d/php-fpmchkconfig --add php-fpmchkconfig php-fpm onphp-fpm -tservice php-fpm startps -aux | grep php ???##php-fpm进程数和进程用户nginx都是由 ???pm.start_servers和user的 值分别决定的root ????26007 ?0.0 ?0.0 182016 ?6324 ? ???????Ss ??13:36 ??0:00 php-fpm: master process (/usr/local/php7/etc/php-fpm.conf)nginx ???26008 ?0.0 ?0.0 182016 ?5884 ? ???????S ???13:36 ??0:00 php-fpm: pool wwwnginx ???26009 ?0.0 ?0.0 182016 ?5884 ? ???????S ???13:36 ??0:00 php-fpm: pool www
php 7.2 编译安装
原文地址:http://blog.51cto.com/hequan/2058926