溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務(wù)條款》

lamp之編譯安裝php及xcache

發(fā)布時間:2020-07-19 12:02:49 來源:網(wǎng)絡(luò) 閱讀:567 作者:ggvylf 欄目:web開發(fā)

php:

    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


        編譯常見選項:

            --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壓縮庫支持


            --with-libxml-dir=/usr/lib64 啟用xml支持,并指定xml庫文件位置,需要安裝libxml2-devel包。


            --enable-sockets 啟動基于套接字的通信


            --with-apxs2=/usr/local/httpd/bin/apxs 使用apsx將php編譯為httpd的模塊。


            --with-mcrypt 啟用額外的加密庫,需要libmcrypt-devel


            --with-config-file-path=/etc 指定php主配置文件存放的目錄。配置文件為php.ini


            --with-config-file-scan-dir=/etc/php.d php的配置片段位置。


            --with-bz2 啟動壓縮庫,需要安裝相應(yīng)的bzip2-devel包


            --enable-maintainer-zts 若httpd以線程方式工作則需要此項。即MPM為profork則不需要啟動次項。若為event或worker則需要此項支持。



    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ù)啟動時的空閑進(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文件位置,此項定義在服務(wù)腳本php-fpm中,2者保持一致即可。


        啟動php-fpm

            #systemctl start php-fpm


        驗證:

            #ps-aux|grep php-fpm

            #netsta -tnlp|grep php-fmp


            默認(rèn)情況下fpm監(jiān)聽在9000端口。


Xcache

    1.解壓軟件包:

        #tar xf xcache.xxx.tar.gz xcache.xxx

        #cd xcacahe.xxx


    2.安裝:

        #/usr/local/php/bin/phpize 在當(dāng)前目錄運行phpize。phpize是在編譯安裝php擴(kuò)展之前對其進(jìn)行準(zhǔn)備的程序。

        

        #./configure \

        --enable-xcache\ 啟用xcache功能

        --with-php-config=/usr/local/php/bin/php-config php-config是可以獲得有關(guān)php配置和編譯選項的信息的小腳本。


        #make && make install



        安裝結(jié)束時,會出現(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é)束時生成的路徑進(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)存多個進(jìn)程可以訪問。

                xcache.size=60M 緩存Opcode的大小。設(shè)置為0表示禁用此功能。


                xcache.count=1 設(shè)置cpu個數(shù)

                xcache.slots=8K 槽位設(shè)置,hash相關(guān)

                xcache.ttl=0 緩存項目的過期時間,0表示永不過期,由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


向AI問一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進(jìn)行舉報,并提供相關(guān)證據(jù),一經(jīng)查實,將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI