溫馨提示×

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

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

unbutu升級(jí)php和安裝php擴(kuò)展插件的教程

發(fā)布時(shí)間:2020-05-23 17:42:21 來(lái)源:億速云 閱讀:250 作者:鴿子 欄目:web開發(fā)

ubuntu升級(jí)php和安裝php擴(kuò)展

php升級(jí)5.3.24到5.4.34
首先查看原版本的php編譯參數(shù):

root@develop:~# /usr/local/php/bin/php -i | grep configure
./configure  '--prefix=/usr/local/php-5.3.24/' \
'--with-config-file-path=/usr/local/php-5.3.24/etc' \
'--with-freetype-dir' '--with-jpeg-dir' '--with-png-dir' \
'--with-zlib' '--enable-xml' '--with-curl' '--with-curlwrappers' \
'--enable-mbregex' '--enable-mbstring' '--with-openssl' \
'--enable-sockets' '--enable-zip' '--disable-ipv6' \
'--with-pear' \
'--enable-fpm' \
'--with-fpm-user=www' \
'--with-fpm-group=www' \
'--with-mysql=/usr/local/mysql' \
'--with-mysqli=mysqlnd' \
'--enable-soap' \
'--with-pdo-mysql' \
'--enable-pcntl' \
'--with-gd' '--with-xmlrpc' '--with-iconv' '--with-mcrypt'


升級(jí)php要注意php的編譯參數(shù)要相同。要帶上版本號(hào),然后使用軟連接訪問(wèn)。


開始升級(jí):

cd /usr/local/src/
wget http://cn2.php.net/distributions/php-5.4.34.tar.gz
tar zxf php-5.4.34.tar.gz
cd php-5.4.34
./configure  '--prefix=/usr/local/php-5.4.34/' \
'--with-config-file-path=/usr/local/php-5.4.34/etc' \
'--with-freetype-dir' '--with-jpeg-dir' '--with-png-dir' \
'--with-zlib' '--enable-xml' '--with-curl' '--with-curlwrappers' \
'--enable-mbregex' '--enable-mbstring' '--with-openssl' \
'--enable-sockets' '--enable-zip' '--disable-ipv6' \
'--with-pear' \
'--enable-fpm' \
'--with-fpm-user=www' \
'--with-fpm-group=www' \
'--with-mysql=/usr/local/mysql' \
'--with-mysqli=mysqlnd' \
'--enable-soap' \
'--with-pdo-mysql' \
'--enable-pcntl' \
'--with-gd' '--with-xmlrpc' '--with-iconv' '--with-mcrypt'
make

其中make步驟報(bào)錯(cuò)如下:

ext/iconv/.libs/iconv.o: In function `php_iconv_stream_filter_ctor':
/home/king/php-5.2.13/ext/iconv/iconv.c:2491: undefined reference to `libiconv_open'
collect2: ld returned 1 exit status
make: *** [sapi/cli/php] Error 1

解決:參考:http://blog.csdn.net/sflsgfs/article/details/6318583
在安裝 PHP 到系統(tǒng)中時(shí)要是發(fā)生「undefined reference to libiconv_open'」之類的錯(cuò)誤信息,那表示在「./configure 」沒抓好一些環(huán)境變數(shù)值。錯(cuò)誤發(fā)生點(diǎn)在建立「-o sapi/cli/php」是出錯(cuò),沒給到要 link 的 iconv 函式庫(kù)參數(shù)。

 

解決方法:編輯Makefile 大約77 行左右的地方: EXTRA_LIBS = ..... -lcrypt 在最后加上 -liconv,
 例如: EXTRA_LIBS = ..... -lcrypt -liconv
 然后重新再次 make 即可。
繼續(xù)升級(jí):

 make
 make install
 cd ..

編譯完成有如下提示:
Wrote PEAR system config file at: /usr/local/php-5.4.34/etc/pear.conf
You may want to add: /usr/local/php-5.4.34/lib/php to your php.ini include_path
/usr/local/src/php-5.4.34/build/shtool install -c ext/phar/phar.phar /usr/local/php-5.4.34/bin
ln -s -f /usr/local/php-5.4.34/bin/phar.phar /usr/local/php-5.4.34/bin/phar
Installing PDO headers:          /usr/local/php-5.4.34/include/php/ext/pdo/

====================升級(jí)完成,開始配置php===========================


1) 拷貝源碼包目錄下的php.ini參考文件到安裝目錄的etc目錄下

cp /usr/local/src/php-5.4.34/php.ini-production  /usr/local/php-5.4.34/etc/php.ini

修改php.ini參數(shù)(參考已有的5.3.24的php.ini)

2 )配置生產(chǎn)php-fpm配置文件

root@develop:/usr/local/php-5.4.34/etc# pwd
/usr/local/php-5.4.34/etc
root@develop:/usr/local/php-5.4.34/etc# cp php-fpm.conf.default php-fpm1.conf

修改 php-fpm1.conf (參考已有的5.3.24的php-fpm1.conf)


3)配置完成后,創(chuàng)建軟連接

ln -s /usr/local/php-5.4.34/ /usr/local/php


4 )查看就版本安裝的php擴(kuò)展,為新版本的php安裝擴(kuò)展插件


舊版本安裝的php安裝擴(kuò)展如下:

extension=redis.so
extension=eaccelerator.so
;extension=memcached.so
extension=memcache.so
extension=gearman.so
extension=trie_filter.so
extension=mongo.so

 ======================開始安裝php擴(kuò)展====================

1 redis擴(kuò)展安裝

cd /usr/local/src/
wget https://github.com/nicolasff/phpredis/archive/2.2.4.tar.gz
tar zxf 2.2.4.tar.gz
cd phpredis-2.2.4/
/usr/local/php/bin/phpize
./configure --with-php-config=/usr/local/php/bin/php-config
make
make install
cd ..

檢查:(出現(xiàn)redis.so表示正確)

ll /usr/local/php-5.4.34/lib/php/extensions/no-debug-non-zts-20100525/


配置php支持:

vim /usr/local/php/etc/php.ini 
    #修改擴(kuò)展模塊路徑
    extension_dir = "/usr/local/php-5.4.34/lib/php/extensions/no-debug-non-zts-20100525/"
    # 添加支持
    extension="redis.so"

重啟php和nginx(最后統(tǒng)一重啟)

2 安裝eaccelerator插件

cd /usr/local/src/
wget https://codeload.github.com/eaccelerator/eaccelerator/legacy.tar.gz/master
tar zxf master
cd eaccelerator-eaccelerator-42067ac/
/usr/local/php/bin/phpize
./configure --with-php-config=/usr/local/php/bin/php-config
make
make install
cd ..
echo 'include /usr/lib/php/modules/*.so' >>  /etc/ld.so.conf

修改/usr/local/php/ect/php.ini添加如下配置:

[eaccelerator]
zend_extension_ts="/usr/local/php-5.4.34/lib/php/extensions/no-debug-non-zts-20100525/eaccelerator.so"
eaccelerator.shm_size="32"
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="0"
eaccelerator.shm_prune_period="0"
eaccelerator.shm_only="0"
eaccelerator.compress="1"
eaccelerator.compress_level="9"

創(chuàng)建緩存目錄:

mkdir -p /tmp/eaccelerator
chmod 777 /tmp/eaccelerator

(重啟nginx php,最后統(tǒng)一重啟)


3 安裝memcache.so擴(kuò)展

cd /usr/local/src/
wget http://pecl.php.net/get/memcache-2.2.7.tgz
tar zxf memcache-2.2.7.tgz
cd memcache-2.2.7/
/usr/local/php/bin/phpize
./configure --enable-memcache --with-php-config=/usr/local/php/bin/php-config --with-zlib-dir
make
make install
cd ..

(重啟nginx php,最后統(tǒng)一重啟)

4 安裝gearman擴(kuò)展

cd /usr/local/src/
wget http://pecl.php.net/get/gearman-1.1.2.tgz
tar zxf gearman-1.1.2.tgz 
cd gearman-1.1.2/
/usr/local/php/bin/phpize
./configure --with-php-config=/usr/local/php/bin/php-config
make
make install
cd ..

(重啟nginx php,最后統(tǒng)一重啟)


5 安裝trie_filter擴(kuò)展:
(該軟件不好下載,網(wǎng)絡(luò)因素) 參考網(wǎng)址:http://www.codeweblog.com/用于檢測(cè)敏感詞的-php-擴(kuò)展/

cd /usr/local/src/
mkdir trie_filter
cd trie_filter/
wget https://as3chat.googlecode.com/files/trie_filter-2011-03-21.tar.gz
tar zxf trie_filter-2011-03-21.tar.gz
/usr/local/php/bin/phpize
./configure --with-php-config=/usr/local/php/bin/php-config
make
make install
cd ..

(重啟nginx php,最后統(tǒng)一重啟)


6 安裝mongo擴(kuò)展

cd /usr/local/src/
wget http://pecl.php.net/get/mongo-1.4.5.tgz
tar zxf mongo-1.4.5.tgz
cd mongo-1.4.5/
/usr/local/php/bin/phpize
./configure --with-php-config=/usr/local/php/bin/php-config 
make
make install
cd ..

7 擴(kuò)展安裝完成檢查:

root@develop:/usr/local/src# ll /usr/local/php-5.4.34/lib/php/extensions/no-debug-non-zts-20100525/
total 3380
drwxr-xr-x 2 root root    4096 Jan 20 15:11 ./
drwxr-xr-x 3 root root    4096 Jan 20 14:00 ../
-rwxr-xr-x 1 root root  467380 Jan 20 14:13 eaccelerator.so*
-rwxr-xr-x 1 root root  302505 Jan 20 14:39 gearman.so*
-rwxr-xr-x 1 root root  265098 Jan 20 14:32 memcache.so*
-rwxr-xr-x 1 root root 1445848 Jan 20 15:11 mongo.so*
-rwxr-xr-x 1 root root  928238 Jan 20 14:00 redis.so*
-rwxr-xr-x 1 root root   36722 Jan 20 14:54 trie_filter.so*

8 把已安裝的擴(kuò)展插件添加到php.ini

vim /usr/local/php/etc/php.ini


添加如下配置:

extension=redis.so
extension=eaccelerator.so
;extension=memcached.so
extension=memcache.so
extension=gearman.so
extension=trie_filter.so
extension=mongo.so

9 重啟nginx和php

10 調(diào)用phpinfo();來(lái)檢查

升級(jí)完畢。

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

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

AI