php擴展模塊eAccelerator,mysql_pdo,memcache安裝配置

基本環境約定:
    1.CentOS5.8 x86_64位 採用最小化安裝,系統經過了基本優化篇
    2.mysql安裝路徑:/usr/local/mysql
    3.源碼包存放位置:/home/oldboy/tools
    4.源碼包編譯安裝位置:/application

如果你清楚lanp環境搭建,參考以下文章:

    A.php和apache編譯安裝方法

    B.mysql5.1編譯方法和步驟

一.PHP擴展安裝實驗安裝環境
    1.檢查對應的版本
            cat /etc/redhat-release
            uname -m
            /application/apache/bin/apachectl -v
            /application/php/bin/php -v
            mysqladmin -uroot -pmybaby3306 -S /data/3306/mysql.sock "version"
         2.準備環境
                [root@ser200 ~]# cat /etc/redhat-release
        CentOS release 5.10 (Final)
        [root@ser200 ~]# uname -m
        x86_64
        [root@ser200 ~]# /application/apache/bin/apachectl -v
        Server version: Apache/2.2.29 (Unix)
        Server built:   Oct  9 2014 09:44:14
        [root@ser200 ~]# /application/php/bin/php -v
        PHP 5.3.29 (cli) (built: Oct 19 2014 10:12:02)
        Copyright (c) 1997-2014 The PHP Group
        Zend Engine v2.3.0, Copyright (c) 1998-2014 Zend Technologies
        [root@ser200 ~]# mysqladmin -uroot -pmybaby3306 -S /data/3306/mysql.sock "version"
        mysqladmin  Ver 8.42 Distrib 5.1.73, for unknown-linux-gnu on x86_64
        Copyright (c) 2000, 2013, Oracle and/or its affiliates. All rights reserved.

        Oracle is a registered trademark of Oracle Corporation and/or its
        affiliates. Other names may be trademarks of their respective
        owners.

        Server version          5.1.73-log
        Protocol version        10
        Connection              Localhost via UNIX socket
        UNIX socket             /data/3306/mysql.sock
        Uptime:                 6 hours 51 min 58 sec

        Threads: 1  Questions: 13  Slow queries: 0  Opens: 14  Flush tables: 1  Open tables: 8  Queries per second avg: 0.0
二.功能和加速模塊安裝
    1.eAccelerator加速模塊,是一個自由開放源碼php加速器,優化和動態內容緩存,提高了php腳本的緩存性能,使得PHP腳本在編譯的狀態下,對服務器的開銷幾乎完全消除。 它還有對腳本起優化作用,以加快其執行效率。使您的PHP程序代碼執效率能提高1-10倍。
    
    2.用到命令:
          cd /home/oldboy/tools/
          tar xzf eaccelerator-eaccelerator-42067ac.tar.gz
          cd eaccelerator-eaccelerator-42067ac
          /application/php/bin/phpize
          ./configure --enable-eaccelerator=shared --with-php-config=/application/php/bin/php-config
          make && make install
    3.安裝過PDO擴展爲PHP訪問數據庫定義了一個輕量級的、一致性的接口,它提供了一個數據訪問抽象層,這樣,無論使用什麼數據庫,都可以通過一致的函數執行查詢和獲取數據。PDO隨PHP5.1發行,在PHP5.0的PECL擴展中也可以使用,無法運行於之前的PHP版本。程
        [root@ser200 tools]# rz
        rz waiting to receive.
        Starting zmodem transfer.  Press Ctrl+C to cancel.
        Transferring eaccelerator-eaccelerator-42067ac.tar.gz...
          100%     128 KB     128 KB/sec    00:00:01       0 Errors  
         [root@ser200 tools]# tar xzf eaccelerator-eaccelerator-42067ac.tar.gz
        [root@ser200 tools]# cd eaccelerator-eaccelerator-42067ac

        [root@ser200 eaccelerator-eaccelerator-42067ac]# /application/php/bin/phpize
        Configuring for:
        PHP Api Version:         20090626
        Zend Module Api No:      20090626
        Zend Extension Api No:   220090626
        [root@ser200 eaccelerator-eaccelerator-42067ac]# ./configure --enable-eaccelerator=shared \
        > --with-php-config=/application/php/bin/php-config

        [root@ser200 tools]# make && make install
        [root@ser200 no-debug-zts-20090626]# !1047
        cd /application/php/lib/php/extensions/no-debug-zts-20090626/
        [root@ser200 no-debug-zts-20090626]# ll
        total 420
        -rwxr-xr-x 1 root root 425136 Oct 27 19:03 eaccelerator.so
三.memcache安裝
    1.介紹:
        Memcache是一個高性能的分佈式的內存對象緩存系統,通過在內存裏維護一個統一的巨大的hash表,它能夠用來存儲各種格式的數據,包括圖像、視頻、文件以及數據庫檢索的結果等。簡單的說就是將數據調用到內存中,然後從內存中讀取,從而大大提高讀取速度。
    2.安裝命令:
        cd /home/oldboy/tools/
        wget http://www.memcached.org/files/memcached-1.4.17.tar.gz
        tar zxf memcached-1.4.17.tar.gz
        cd memcached-1.4.17
        ./configure --with-php-config=/application/php/bin/php-config
        make && make install
    3.安裝過程:
        [root@ser200 tools]# wget http://pecl.php.net/get/memcache-2.2.7.tgz
        --2014-10-27 20:19:54--  http://pecl.php.net/get/memcache-2.2.7.tgz
        Resolving pecl.php.net... 76.75.200.106
        Connecting to pecl.php.net|76.75.200.106|:80... connected.
        HTTP request sent, awaiting response... 200 OK
        Length: 36459 (36K) [application/octet-stream]
        Saving to: `memcache-2.2.7.tgz'

        100%[======================================================================================>] 36,459      6.62K/s   in 5.4s    

        2014-10-27 20:20:01 (6.62 KB/s) - `memcache-2.2.7.tgz' saved [36459/36459]

        [root@ser200 tools]# tar xzf memcache-2.2.7.tgz
        [root@ser200 tools]# cd memcache-2.2.7
        [root@ser200 memcache-2.2.7]# /application/php/bin/phpize
        Configuring for:
        PHP Api Version:         20090626
        Zend Module Api No:      20090626
        Zend Extension Api No:   220090626

        [root@ser200 memcache-2.2.7]# ./configure --with-php-config=/application/php/bin/php-config
        checking for egrep... grep -E
        checking for a sed that does not truncate output... /bin/sed
        #(中間省略)
        ----------------------------------------------------------------------

        Build complete.
        Don't forget to run 'make test'.

        Installing shared extensions:     /application/php5.3.29/lib/php/extensions/no-debug-zts-20090626/
        [root@ser200 memcache-2.2.7]# ll /
        [root@ser200 memcache-2.2.7]# ll /application/php5.3.29/lib/php/extensions/no-debug-zts-20090626/
        total 644
        -rwxr-xr-x 1 root root 425136 Oct 27 19:03 eaccelerator.so
        -rwxr-xr-x 1 root root 222254 Oct 27 21:10 memcache.so

四.動態添加功能模塊pdo_mysql
    1.介紹:PDO擴展爲PHP訪問數據庫定義了一個輕量級的、一致性的接口,它提供了一個數據訪問抽象層,這樣,無論使用什麼數據庫,都可以通過一致的函數執行查詢和獲取數據。PDO隨PHP5.1發行,在PHP5.0的PECL擴展中也可以使用,無法運行於之前的PHP版本。
    2.用到命令:
        cd /home/oldboy/tools/
        wget http://pecl.php.net/get/PDO_MYSQL-1.0.2.tgz
        tar xzf PDO_MYSQL-1.0.2.tgz
        cd PDO_MYSQL-1.0.2
        ./configure --with-php-config=/application/php/bin/php-config \
        --with-pdo-mysql=/usr/local/mysql/
        make && make install

        注.下載/PDO_MYSQL-1.0.3.tgz未安裝成功,make時提示:
        /home/oldboy/tools/PDO-1.0.3/pdo.c:78: error: too few arguments to function ‘zend_exception_get_default’
        暫未找到決辦法
    3.安裝過程:
        [root@ser200 tools]# wget http://pecl.php.net/get/PDO_MYSQL-1.0.2.tgz
        --2014-10-27 21:48:59--  http://pecl.php.net/get/PDO_MYSQL-1.0.2.tgz
        Resolving pecl.php.net... 76.75.200.106
        Connecting to pecl.php.net|76.75.200.106|:80... connected.
        HTTP request sent, awaiting response... 200 OK
        Length: 14778 (14K) [application/octet-stream]
        Saving to: `PDO_MYSQL-1.0.2.tgz'

        100%[======================================================================================>] 14,778      19.5K/s   in 0.7s    

        2014-10-27 21:49:11 (19.5 KB/s) - `PDO_MYSQL-1.0.2.tgz' saved [14778/14778]

        [root@ser200 tools]# tar xzf PDO_MYSQL-1.0.2.tgz
        [root@ser200 tools]# cd PDO_MYSQL-1.0.2
        [root@ser200 PDO_MYSQL-1.0.2]# /application/php/bin/phpize
        Configuring for:
        PHP Api Version:         20090626
        Zend Module Api No:      20090626
        Zend Extension Api No:   220090626
        [root@ser200 PDO_MYSQL-1.0.2]# ./configure --with-php-config=/application/php/bin/php-config --with-pdo-mysql=/usr/local/mysql/
        checking for egrep... grep -E
        [root@ser200 PDO_MYSQL-1.0.2]# ll /application/php5.3.29/lib/php/extensions/no-debug-zts-20090626/
        total 784
        -rwxr-xr-x 1 root root 425136 Oct 27 19:03 eaccelerator.so
        -rwxr-xr-x 1 root root 222254 Oct 27 21:10 memcache.so
        -rwxr-xr-x 1 root root 135439 Oct 27 21:50 pdo_mysql.so

五.功能模塊:imagemagick安裝
    1.imagemagick介紹:
        mageMagick是一套功能強大、穩定而且開源的工具集和開發包,可以用來讀、寫和處理超過89種基本格式的圖片文件,包括流行的TIFF、JPEG、GIF、 PNG、PDF以及PhotoCD等格式。利用ImageMagick,你可以根據web應用程序的需要動態生成圖片, 還可以對一個(或一組)圖片進行改變大小、旋轉、銳化、減色或增加特效等操作,並將操作的結果以相同格式或其它格式保存,對圖片的操作,即可以通過命令行進行,也可以用C/C++、Perl、Java、PHP、Python或Ruby編程來完成。同時ImageMagick提供了一個高質量的2D工具包,部分支持SVG。ImageMagic的主要精力集中在性能,減少bug以及提供穩定的API和ABI上。
    2.安裝命令
        cd /home/oldboy/tools/
        wget http://www.imagemagick.org/download/ImageMagick-6.8.9-9.tar.gz
        tar xzf ImageMagick-6.8.9-9.tar.gz
        cd ImageMagick-6.8.9-9
        ./configure
        make
        make install

        #裝模塊,要建立在上一步安裝imagemagick軟件的基礎上
        wget http://pecl.php.net/get/imagick-3.1.2.tgz
        tar xzf imagick-3.1.2.tgz
        cd imagick-3.1.2
        /application/php/bin/phpize
        ./configure --with-php-config=/application/php/bin/php-config
        make
        make install
        ll /application/php5.3.29/lib/php/extensions/no-debug-zts-20090626/
    3.安裝過程:
        [root@ser200 ~]# cd /home/oldboy/tools/
        [root@ser200 tools]# tar xzf ImageMagick-6.8.9-9.tar.gz

        gzip: stdin: unexpected end of file
        tar: Unexpected EOF in archive
        tar: Unexpected EOF in archive
        tar: Error is not recoverable: exiting now
        [root@ser200 tools]# wget http://www.imagemagick.org/download/ImageMagick-6.8.9-9.tar.gz
        --2014-10-28 10:11:04--  http://www.imagemagick.org/download/ImageMagick-6.8.9-9.tar.gz
        Resolving www.imagemagick.org... 209.191.186.187
        Connecting to www.imagemagick.org|209.191.186.187|:80... connected.
        HTTP request sent, awaiting response... 200 OK
        Length: 12336784 (12M) [application/x-gzip]
        Saving to: `ImageMagick-6.8.9-9.tar.gz'


        100%[======================================================================================>] 12,336,784  72.6K/s   in 2m 44s  

        2014-10-28 10:14:09 (73.4 KB/s) - `ImageMagick-6.8.9-9.tar.gz.1' saved [12336784/12336784]

        [root@ser200 tools]# tar xzf ImageMagick-6.8.9-9.tar.gz
        [root@ser200 ImageMagick-6.8.9-9]# ./configure
        configuring ImageMagick 6.8.9-9
        checking build system type... x86_64-unknown-linux-gnu
        #(.............省略)
        [root@ser200 ImageMagick-6.8.9-9]# make && make instal

        [root@ser200 ImageMagick-6.8.9-9]# cd ..
        [root@ser200 tools]# wget http://pecl.php.net/get/imagick-3.1.2.tgz
        --2014-10-28 10:50:22--  http://pecl.php.net/get/imagick-3.1.2.tgz
        Resolving pecl.php.net... 76.75.200.106
        Connecting to pecl.php.net|76.75.200.106|:80... connected.
        HTTP request sent, awaiting response... 200 OK
        Length: 94657 (92K) [application/octet-stream]
        Saving to: `imagick-3.1.2.tgz'

        100%[======================================================================================>] 94,657      61.4K/s   in 1.5s    

        2014-10-28 10:50:24 (61.4 KB/s) - `imagick-3.1.2.tgz' saved [94657/94657]

        [root@ser200 tools]# tar xzf imagick-3.1.2.tgz
        [root@ser200 tools]# cd imagick-3.1.2
        [root@ser200 imagick-3.1.2]# /application/php/bin/phpize \
        > ;
        Configuring for:
        PHP Api Version:         20090626
        Zend Module Api No:      20090626
        Zend Extension Api No:   220090626


        [root@ser200 imagick-3.1.2]# ./configure --with-php-config=/application/php/bin/php-config
        checking for egrep... grep -E
        checking for a sed that does not truncate output... /bin/sed
        checking for cc... cc
        #(.............省略)
        [root@ser200 imagick-3.1.2]# make
        [root@ser200 imagick-3.1.2]# make install

        [root@ser200 imagick-3.1.2]# ll /application/php5.3.29/lib/php/extensions/no-debug-zts-20090626/
        total 1940
        -rwxr-xr-x 1 root root  425136 Oct 27 19:03 eaccelerator.so
        -rwxr-xr-x 1 root root 1178470 Oct 28 10:58 imagick.so
        -rwxr-xr-x 1 root root  222254 Oct 27 21:10 memcache.so
        -rwxr-xr-x 1 root root  135439 Oct 27 21:50 pdo_mysql.so
六.配置以上模塊
    1.修改php.ini
        sed -i 's#; extension_dir = "./"#extension=/application/php5.3.29/lib/php/extensions/no-debug-zts-20090626/#g' php.ini
        vi php.ini +1000,添加如下模塊
            extension=memcache.so
              extension=pdo_mysql.so
              extension=imagick.so
              extension=eaccelerator.so
    2.配置參數:
        cat >> /application/php/lib/php.ini<<EOF
         [eaccelerator]
         extension=eaccelerator.so
         eaccelerator.shm_size="64"
         eaccelerator.cache_dir="/tmp/eaccelerator"
         eaccelerator.enable="1"
         eaccelerator.optimizer="1"
         eaccelerator.check_mtime="1"
         eaccelerator.debug="0"
         eaccelerator.filter=""
         eaccelerator.shm_max="0"
         eaccelerator.shm_ttl="3600"
         eaccelerator.shm_prune_period="3600"
         eaccelerator.shm_only="0"
         eaccelerator.compress="1"
         eaccelerator.compress_level="9"
         EOF
七.phpize介紹:
    1. 安裝php(fastcgi模式)的時候,常常有這樣一句命令:/usr/local/webserver/php/bin/phpize
    phpize是用來擴展php擴展模塊的,通過phpize可以建立php的外掛模塊
    比如你想在原來編譯好的php中加入memcached或者ImageMagick等擴展模塊,可以使用phpize,通過以下幾步工作。
    當php編譯完成後,php的bin目錄下會有phpize這個腳本文件。在編譯你要添加的擴展模塊之前,執行以下phpize就可以了;


你可能還對如下內容感興趣:

1.mysql啓動命令大全

2.mysql多實例安裝方法和詳細步驟

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章