zoukankan      html  css  js  c++  java
  • CentOS6 编译PHP 5.3.8

    部分内容来源于网上,下载以下软件包,可以选择最新的

    编译安装PHP所需的支持库

    tar zxvf libiconv-1.13.1.tar.gz
    cd libiconv-1.13.1/
    ./configure --prefix=/usr/local
    make
    make install
    cd ../

    tar zxvf libmcrypt-2.5.8.tar.gz
    cd libmcrypt-2.5.8/
    ./configure
    make
    make install
    /sbin/ldconfig
    cd libltdl/
    ./configure --enable-ltdl-install
    make
    make install
    cd http://www.cnblogs.com/

    tar zxvf mhash-0.9.9.9.tar.gz
    cd mhash-0.9.9.9/
    ./configure
    make
    make install
    cd ../

    ln -s /usr/local/lib/libmcrypt.la /usr/lib/libmcrypt.la
    ln -s /usr/local/lib/libmcrypt.so /usr/lib/libmcrypt.so
    ln -s /usr/local/lib/libmcrypt.so.4 /usr/lib/libmcrypt.so.4
    ln -s /usr/local/lib/libmcrypt.so.4.4.8 /usr/lib/libmcrypt.so.4.4.8
    ln -s /usr/local/lib/libmhash.a /usr/lib/libmhash.a
    ln -s /usr/local/lib/libmhash.la /usr/lib/libmhash.la
    ln -s /usr/local/lib/libmhash.so /usr/lib/libmhash.so
    ln -s /usr/local/lib/libmhash.so.2 /usr/lib/libmhash.so.2
    ln -s /usr/local/lib/libmhash.so.2.0.1 /usr/lib/libmhash.so.2.0.1
    ln -s /usr/local/bin/libmcrypt-config /usr/bin/libmcrypt-config

    tar zxvf mcrypt-2.6.8.tar.gz
    cd mcrypt-2.6.8/
    /sbin/ldconfig
    ./configure
    make
    make install
    cd ../

    下载PHP 5.3.8.

    mkdir /usr/local/webserver

    wget http://cn.php.net/get/php-5.3.8.tar.bz2/from/this/mirror
    tar jfvx php-5.3.8.tar.bz2
    cd php-5.3.8

    开始编译

    ./configure --prefix=/usr/local/webserver/php  --with-config-file-path=/usr/local/webserver/php/etc  \
    --with-mysql=/usr/local/webserver/mysql \
    --with-mysqli=/usr/local/webserver/mysql/bin/mysql_config \
    --with-iconv-dir=/usr/local \
    --with-freetype-dir --with-jpeg-dir --with-png-dir \
    --with-zlib --with-libxml-dir=/usr --enable-xml \
    --disable-rpath --enable-discard-path --enable-safe-mode \
    --enable-bcmath --enable-shmop --enable-sysvsem \
    --enable-inline-optimization --with-curl --with-curlwrappers \
    --enable-mbregex --enable-fastcgi --enable-fpm \
    --enable-force-cgi-redirect --enable-mbstring --with-mcrypt \
    --with-gd --enable-gd-native-ttf --with-openssl --with-mhash \
    --enable-pcntl --enable-sockets --with-ldap --with-ldap-sasl \
    --with-xmlrpc --enable-zip --enable-soap
    make ZEND_EXTRA_LIBS='-liconv'
    make install
    cp php.ini-production /usr/local/webserver/php/etc/php.ini
    cp sapi/fpm/init.d.php-fpm /etc/init.d/php-fpm
    chmod +x /etc/init.d/php-fpm
    cp sapi/fpm/php-fpm.conf /usr/local/webserver/php/etc/

    安装PHP扩展库

    tar zxvf memcache-2.2.5.tgz
    cd memcache-2.2.5/
    /usr/local/webserver/php/bin/phpize
    ./configure --with-php-config=/usr/local/webserver/php/bin/php-config
    make
    make install
    cd ../

    tar jxvf eaccelerator-0.9.6.1.tar.bz2
    cd eaccelerator-0.9.6.1/
    /usr/local/webserver/php/bin/phpize
    ./configure --enable-eaccelerator=shared --with-php-config=/usr/local/webserver/php/bin/php-config
    make
    make install
    cd ../

    tar zxvf PDO_MYSQL-1.0.2.tgz
    cd PDO_MYSQL-1.0.2/
    /usr/local/webserver/php/bin/phpize
    ./configure --with-php-config=/usr/local/webserver/php/bin/php-config --with-pdo-mysql=/usr/local/webserver/mysql
    make
    make install
    cd ../

    tar zxvf ImageMagick.tar.gz
    cd ImageMagick-6.5.1-2/
    ./configure
    make
    make install
    cd ../

    tar zxvf imagick-2.3.0.tgz
    cd imagick-2.3.0/
    /usr/local/webserver/php/bin/phpize
    ./configure --with-php-config=/usr/local/webserver/php/bin/php-config
    make
    make install
    cd ../

    需要修改php.ini和php-fpm.conf两个文件
    在php.ini文件中添加以下字段

    extension_dir = "/usr/local/webserver/php/lib/php/extensions/no-debug-non-zts-20090626/"

    extension = "memcache.so"
    extension = "pdo_mysql.so"
    extension = "imagick.so"


    [eaccelerator]
    zend_extension=/usr/local/webserver/php/lib/php/extensions/no-debug-non-zts-20090626/eaccelerator.so"
    eaccelerator.shm_size="64"
    eaccelerator.cache_dir="/usr/local/webserver/eaccelerator_cache"
    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"

    php-fpm取消以下行的注释

    [global]
    pid = run/php-fpm.pid
    error_log = log/php-fpm.log
    emergency_restart_threshold = 0

    [www]
    listen = 127.0.0.1:9000

    listen.allowed_clients = 127.0.0.1
    user = nobody
    group = nobody
    pm = dynamic
    pm.max_children = 50
    pm.start_servers = 20
    pm.min_spare_servers = 5
    pm.max_spare_servers = 35

    修改/etc/sysctl.conf文件,添加以下内容

    kernel.shmmax = 134217728

     启动PHP-FPM进程

    service php-fpm start

     附注:如果出现编译无法进行的情况,请根据报错信息来排查,例如libldap.so默认是放在/usr/lib64下,出现这个问题,只需将该文件复制过去就OK了。

  • 相关阅读:
    数组最值和两种排序
    整数翻转,99乘法表,百钱买百鸡
    运算符综合练习题
    五子棋实现体验其过程
    二维数组斜线扫描2(方法逻辑清晰)
    字符串链接练习题
    母串中有几个相同的子串
    递归求菲波拉契前N项的和
    [LeetCode] Mini Parser
    Linked List 小结
  • 原文地址:https://www.cnblogs.com/fangbo/p/2272082.html
Copyright © 2011-2022 走看看