php:
創(chuàng)新互聯(lián)公司自2013年創(chuàng)立以來(lái),先為襄城等服務(wù)建站,襄城等地企業(yè),進(jìn)行企業(yè)商務(wù)咨詢服務(wù)。為襄城企業(yè)網(wǎng)站制作PC+手機(jī)+微官網(wǎng)三網(wǎng)同步一站式服務(wù)解決您的所有建站問(wèn)題。
0.安裝相關(guān)擴(kuò)展的rpm包和依賴
加密功能:
#tar -xf libmcrypt-xxx.tar.gz
#cd libmcrypt-xx
#./configure
#make && make install
支持大字符集:
#yum -y install php-mbstring 支持中文等字符
支持xml和壓縮:
#yum -y install libxml2-devel bzip2-devel
1.解壓安裝包
#tar xf php.xxx.tar.bz2 php.xxx
#cd php.xxx
2.編譯安裝:
編譯為httpd的模塊:
#./configure --prefix=/usr/local/phpXX --with-config-file-path=/etc --with-config-file-scan-dir=/etc/php.d --with-MySQL=/usr/local/mysql --with-mysqli=/usr/local/mysql/bin/mysql_config --with-apxs2=/usr/local/httpd/bin/apxs --with-openssl --enable-mbstring --with-freetype-dir --with-jpeg-dir --with-png-dir --with-zlib --with-libxml-dir=/usr/lib64 --enable-sockets --with-mcrypt --with-bz2 --enable-maintainer-zts
#make
#make install
編譯為fpm模式:
將--with-apxs2=/usr/local/httpd/bin/apxs替換為
--enable-fpm
刪除--enable-maintainer-zts
編譯常見(jiàn)選項(xiàng):
--prefix=/usr/local/php
--with-config-file-path=/etc 指定配置文件的文件夾
--with-config-file-scan-dir=/etc/php.d 指定配置文件夾片段目錄
--with-mysql=/usr/local/mysql
--with-openssl 支持openssl功能
--with-mysqli=/usr/local/mysql/bin/mysql_config php和mysql交互的另一種接口,二進(jìn)制程序mysql_config
--enable-mbstring 多字節(jié)string,支持中文等多字節(jié),需要安裝php-mbstring包。
--with-freetype-dir freetype字體引擎,引用特定字體
--with-jpeg-dir
--with-png-dir
--with-zlib 啟用zlib壓縮庫(kù)支持
--with-libxml-dir=/usr/lib64 啟用xml支持,并指定xml庫(kù)文件位置,需要安裝libxml2-devel包。
--enable-sockets 啟動(dòng)基于套接字的通信
--with-apxs2=/usr/local/httpd/bin/apxs 使用apsx將php編譯為httpd的模塊。
--with-mcrypt 啟用額外的加密庫(kù),需要libmcrypt-devel
--with-config-file-path=/etc 指定php主配置文件存放的目錄。配置文件為php.ini
--with-config-file-scan-dir=/etc/php.d php的配置片段位置。
--with-bz2 啟動(dòng)壓縮庫(kù),需要安裝相應(yīng)的bzip2-devel包
--enable-maintainer-zts 若httpd以線程方式工作則需要此項(xiàng)。即MPM為profork則不需要啟動(dòng)次項(xiàng)。若為event或worker則需要此項(xiàng)支持。
3.提供配置文件
#cp php.ini-production /etc/php.ini
4.編輯httpd的配置文件,增加php的支持:
#vim /etc/httpd/httpd.conf
DirectoryIndex index.php index.html
AddType application/x-httpd-php .php
AddType application/x-httpd-php-source .phps php源碼支持。
5.若php以fpm模式編譯則需要執(zhí)行:
1.給php-fpm提供Sysv風(fēng)格腳本
#cp sapi/fpm/init.d.php.fpm /etc/rc.d/init.d/php-fpm
#chmod +x /etc/rc.d/init.d/php-fpm
2.為php-fpm提供配置文件
#cp /usr/local/php/etc/php-fpm.conf.default /usr/local/php/etc/php-fpm.conf
3.修改配置文件
#vim /usr/local/php/etc/php-fpm.conf
pm.max_children = 50 最大子進(jìn)程數(shù)
pm.start_servers = 5 服務(wù)啟動(dòng)時(shí)的空閑進(jìn)程數(shù)
pm.min_spare_servers = 2 最小空閑進(jìn)程數(shù)
pm.max_spare_servers = 8 最大空閑進(jìn)程數(shù)
pid = /usr/local/php/var/run/php-fpm.pid
指定pid文件位置,此項(xiàng)定義在服務(wù)腳本php-fpm中,2者保持一致即可。
啟動(dòng)php-fpm
#systemctl start php-fpm
驗(yàn)證:
#ps-aux|grep php-fpm
#netsta -tnlp|grep php-fmp
默認(rèn)情況下fpm監(jiān)聽(tīng)在9000端口。
Xcache
1.解壓軟件包:
#tar xf xcache.xxx.tar.gz xcache.xxx
#cd xcacahe.xxx
2.安裝:
#/usr/local/php/bin/phpize 在當(dāng)前目錄運(yùn)行phpize。phpize是在編譯安裝php擴(kuò)展之前對(duì)其進(jìn)行準(zhǔn)備的程序。
#./configure \
--enable-xcache\ 啟用xcache功能
--with-php-config=/usr/local/php/bin/php-config php-config是可以獲得有關(guān)php配置和編譯選項(xiàng)的信息的小腳本。
#make && make install
安裝結(jié)束時(shí),會(huì)出現(xiàn)類似如下行:
Installing shared extensions: /usr/local/php/lib/php/extensions/no-debug-[non]-zts-20100525/
3.將xcache配置文件樣例的內(nèi)容追加到php配置文件中
#cat xcache.ini >> /etc/php.ini
或
#cp xcache.ini /etc/php.d/
推薦使用第二種方法。
4.修改xcache.ini
#vim /etc/php.d/xcache.ini
zend_extension = /usr/local/php/lib/php/extensions/no-debug-zts-xxx/xcache.so
用剛才安裝結(jié)束時(shí)生成的路徑進(jìn)行替換。
zend_extension = /usr/local/php/lib/php/extensions/no-debug-zts-20100525/xcache.so
注意:如果將xcache.ini追加到php.ini文件中,有多條zend_extension指令行,要確保此新增的行排在第一位。
注意:若php以fpm方式編譯,則不需要修改配置文件,直接重啟php-fpm服務(wù)即可。
xcache.ini
[xcache.common]
zend_extension = /usr/local/php/lib/php/extensions/no-debug-zts-xxx/xcache.so
...
[xcache.admin]
...
[xcache]
xcache.shm_schem= "mmap" 指定在各php進(jìn)程間共享內(nèi)存的方式。mamp為內(nèi)存映射,一段內(nèi)存多個(gè)進(jìn)程可以訪問(wèn)。
xcache.size=60M 緩存Opcode的大小。設(shè)置為0表示禁用此功能。
xcache.count=1 設(shè)置cpu個(gè)數(shù)
xcache.slots=8K 槽位設(shè)置,hash相關(guān)
xcache.ttl=0 緩存項(xiàng)目的過(guò)期時(shí)間,0表示永不過(guò)期,由xcache自行管理。
xcache.gc_intrval=0 垃圾回收器工作周期。0表示不掃描,其他數(shù)值單位是秒。
xcache.var_size=4M 變量緩存
xcache.var_count=1 緩存?zhèn)€數(shù)
xcache_var_slots=8K
xcache_var_ttl=0
xcache_var-maxttl=0
xcache.var_gc_intrval=300
xcache.cather=On xcache的緩存功能
xcache.stat=On
xcache.optimizer=Off xcache自身的優(yōu)化器
xcache.test=Off
xcache.experimental=Off