php 7.2 編譯安裝
阿新 • • 發佈:2018-01-09
腳本 127.0.0.1 start mod sasl lda crypt children 路徑
yum -y install libxml2 libxml2-devel openssl openssl-devel curl-devel libjpeg-devel libpng-devel freetype-devel libmcrypt-devel openldap openldap-devel libxslt libxslt-devel
cp -frp /usr/lib64/libldap* /usr/lib/
ln -s /usr/lib64/liblber* /usr/lib/
groupadd -g 58 nginx
useradd -u 58 -g 58 -M nginx -s /sbin/nologin
cd /usr/local/src
wget http://cn2.php.net/distributions/php-7.2.0.tar.gz
tar -zxvf php-7.2.0.tar.gz cd 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-xsl make && make install ll /usr/local/php7/lib/php/extensions/no-debug-non-zts-20170718/
直接使用編譯後未經優化處理的配置 cp php.ini-production /usr/local/php7/etc/php.ini cp 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.so extension=mysqli.so extension=pdo_mysql.so extension=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.pid error_log = /usr/local/php7/var/log/php-fpm.log log_level = notice [www] listen = /var/run/php-fpm/php-fpm.sock ### 或者 127.0.0.1:9000 listen.backlog = -1 listen.allowed_clients = 127.0.0.1 listen.owner = nginx listen.group = nginx listen.mode = 0666 user = nginx group = nginx pm = dynamic pm.max_children = 80 pm.start_servers = 40 pm.min_spare_servers = 40 pm.max_spare_servers = 80 request_terminate_timeout = 100 request_slowlog_timeout = 10s slowlog = /var/log/php-fpm/$pool-slow.log ######設置php的session目錄(所屬用戶和用戶組都是nginx) php_value[session.save_handler] = files php_value[session.save_path] = /var/lib/php/session echo -e ‘\nexport PATH=/usr/local/php7/bin:/usr/local/php7/sbin:$PATH\n‘ >> /etc/profile && source /etc/profile mkdir -p /var/log/php-fpm/ && mkdir -p /var/run/php-fpm && cd /var/run/ && chown -R nginx:nginx php-fpm mkdir -p /var/lib/php/session chown -R nginx:nginx /var/lib/php chmod +x /etc/init.d/php-fpm chkconfig --add php-fpm chkconfig php-fpm on php-fpm -t service php-fpm start ps -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 www nginx 26009 0.0 0.0 182016 5884 ? S 13:36 0:00 php-fpm: pool www
php 7.2 編譯安裝