CentOS6 編譯PHP 5.3.8

來源:互聯網
上載者:User
部分內容來源於網上,下載以下軟體包,可以選擇最新的

wget http://ftp.gnu.org/pub/gnu/libiconv/libiconv-1.14.tar.gzwget http://blog.s135.com/soft/linux/nginx_php/mcrypt/libmcrypt-2.5.8.tar.gz wget http://blog.s135.com/soft/linux/nginx_php/mcrypt/mcrypt-2.6.8.tar.gz wget http://blog.s135.com/soft/linux/nginx_php/memcache/memcache-2.2.5.tgz wget http://blog.s135.com/soft/linux/nginx_php/mhash/mhash-0.9.9.9.tar.gz wget http://blog.s135.com/soft/linux/nginx_php/eaccelerator/eaccelerator-0.9.6.1.tar.bz2 wget http://blog.s135.com/soft/linux/nginx_php/pdo/PDO_MYSQL-1.0.2.tgz wget http://blog.s135.com/soft/linux/nginx_php/imagick/ImageMagick.tar.gz wget http://blog.s135.com/soft/linux/nginx_php/imagick/imagick-2.3.0.tgz 

編譯安裝PHP所需的支援庫

tar zxvf libiconv-1.13.1.tar.gzcd libiconv-1.13.1/./configure --prefix=/usr/localmakemake installcd ../tar zxvf libmcrypt-2.5.8.tar.gz cd libmcrypt-2.5.8/./configuremakemake install/sbin/ldconfigcd libltdl/./configure --enable-ltdl-installmakemake installcd http://www.cnblogs.com/tar zxvf mhash-0.9.9.9.tar.gzcd mhash-0.9.9.9/./configuremakemake installcd ../ln -s /usr/local/lib/libmcrypt.la /usr/lib/libmcrypt.laln -s /usr/local/lib/libmcrypt.so /usr/lib/libmcrypt.soln -s /usr/local/lib/libmcrypt.so.4 /usr/lib/libmcrypt.so.4ln -s /usr/local/lib/libmcrypt.so.4.4.8 /usr/lib/libmcrypt.so.4.4.8ln -s /usr/local/lib/libmhash.a /usr/lib/libmhash.aln -s /usr/local/lib/libmhash.la /usr/lib/libmhash.laln -s /usr/local/lib/libmhash.so /usr/lib/libmhash.soln -s /usr/local/lib/libmhash.so.2 /usr/lib/libmhash.so.2ln -s /usr/local/lib/libmhash.so.2.0.1 /usr/lib/libmhash.so.2.0.1ln -s /usr/local/bin/libmcrypt-config /usr/bin/libmcrypt-configtar zxvf mcrypt-2.6.8.tar.gzcd mcrypt-2.6.8//sbin/ldconfig./configuremakemake installcd ../

下載PHP 5.3.8.

mkdir /usr/local/webserver wget http://cn.php.net/get/php-5.3.8.tar.bz2/from/this/mirrortar jfvx php-5.3.8.tar.bz2cd 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.inicp sapi/fpm/init.d.php-fpm /etc/init.d/php-fpmchmod +x /etc/init.d/php-fpmcp sapi/fpm/php-fpm.conf /usr/local/webserver/php/etc/

安裝PHP擴充庫

tar zxvf memcache-2.2.5.tgzcd memcache-2.2.5//usr/local/webserver/php/bin/phpize./configure --with-php-config=/usr/local/webserver/php/bin/php-configmakemake installcd ../tar jxvf eaccelerator-0.9.6.1.tar.bz2cd eaccelerator-0.9.6.1//usr/local/webserver/php/bin/phpize./configure --enable-eaccelerator=shared --with-php-config=/usr/local/webserver/php/bin/php-configmakemake installcd ../tar zxvf PDO_MYSQL-1.0.2.tgzcd 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/mysqlmakemake installcd ../tar zxvf ImageMagick.tar.gzcd ImageMagick-6.5.1-2/./configuremakemake installcd ../tar zxvf imagick-2.3.0.tgzcd imagick-2.3.0//usr/local/webserver/php/bin/phpize./configure --with-php-config=/usr/local/webserver/php/bin/php-configmakemake installcd ../

需要修改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.piderror_log = log/php-fpm.logemergency_restart_threshold = 0[www]listen = 127.0.0.1:9000listen.allowed_clients = 127.0.0.1user = nobodygroup = nobodypm = dynamicpm.max_children = 50pm.start_servers = 20pm.min_spare_servers = 5pm.max_spare_servers = 35

修改/etc/sysctl.conf檔案,添加以下內容

kernel.shmmax = 134217728

啟動PHP-FPM進程

service php-fpm start

附註:如果出現編譯無法進行的情況,請根據報錯資訊來排查,例如libldap.so預設是放在/usr/lib64下,出現這個問題,只需將該檔案複製過去就OK了。

  • 聯繫我們

    該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

    如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

    A Free Trial That Lets You Build Big!

    Start building with 50+ products and up to 12 months usage for Elastic Compute Service

    • Sales Support

      1 on 1 presale consultation

    • After-Sales Support

      24/7 Technical Support 6 Free Tickets per Quarter Faster Response

    • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.