環境介紹
操作系統:Centos 6.* ( 雙核4G、硬盤至少20G)
php 版本:7.0.8(也可去官網下載最新版本http://php.net/downloads.php )
一:php編譯安裝
1.1)yum 依賴包
yum -y install gcc-c++ gd libxml2-devel libjpeg-devel libpng-devel net-snmp-devel curl-devel libxslt-devel pcre-devel libjpeg libpng libxml2 libcurl4-openssl-dev libcurl-devel libcurl libmysqlclient freetype-config freetype freetype-devel unixODBC libxslt make
1.2)解壓php包
tar -zxf php-7.0.8.tar.gz
1.3)進入php解壓包目錄下,編譯安裝
cd php-7.0.8
./configure --prefix=/usr/local/php708 --with-curl --with-gd --with-gettext --with-iconv-dir --with-kerberos --with-libdir=lib64 --with-libxml-dir --with-mysql --with-mysqli --with-openssl --with-pcre-regex --with-pdo-mysql --with-pdo-sqlite --with-pear --with-png-dir --with-freetype-dir --with-jpeg-dir --with-xmlrpc --with-xsl --with-zip --with-zlib --enable-fpm --enable-bcmath --enable-libxml --enable-inline-optimization --enable-gd-native-ttf --enable-mbregex --enable-mbstring --enable-opcache --enable-pcntl --enable-shmop --enable-soap --enable-sockets --enable-sysvsem --enable-xml --enable-zip
make && make install
1.4)配置文件及啟動文件
cp php.ini-development /usr/local/php708/lib/php.ini
cp /usr/local/php708/etc/php-fpm.conf.default /usr/local/php708/etc/php-fpm.conf
cp /usr/local/php708/etc/php-fpm.d/www.conf.default /usr/local/php708/etc/php-fpm.d/www.conf
cp -R ./sapi/fpm/php-fpm /etc/init.d/php-fpm
/etc/init.d/php-fpm
二:php添加opcache
2.1)vim /usr/local/php708/lib/php.ini (在1731行)
#添加如下內容
zend_extension=opcache.so
[opcache]
opcache.enable=1
opcache.enable_cli=1
opcache.memory_consumption=528
opcache.interned_strings_buffer=8
opcache.max_accelerated_files=10000
opcache.revalidate_freq=1
opcache.fast_shutdown=1
opcache詳解:
opcache.enable=1 #是否開啟opcode緩存
opcache.enable_cli=1 #OPcache 的共享內存大小,以兆字節為單位
opcache.memory_consumption=528 #OPcache 的共享內存大小,以兆字節為單位
opcache.interned_strings_buffer=8 #用來存儲臨時字符串的內存大小,以兆字節為單位。 PHP 5.3.0 之前的版本會忽略此配置指令
opcache.max_accelerated_files=10000 #OPcache 哈希表中可存儲的腳本文件數量上限。
opcache.revalidate_freq=1 #檢查腳本時間戳是否有更新的周期,以秒為單位。 設置為 0 會導致針對每個請求, OPcache 都會檢查腳本更新,這個配置在下文中會提到
opcache.fast_shutdown=1 #如果啟用,則會使用快速停止續發事件。 所謂快速停止續發事件是指依賴 Zend 引擎的內存管理模塊 一次釋放全部請求變量的內存,而不是依次釋放每一個已分配的內存塊。(不太懂)
2.2)重啟php服務使之生效
killall php-fpm
/usr/local/php708/sbin/php-fpm
2.3)查看是否已成功添加
/usr/local/php708/bin/php -m