php7的進步是巨大的,但是進步大也就意味著改動大,很多舊版php的擴充已經不能再相容了。還好php7自己帶了很多擴展,像是intl.so擴展。以下將介紹在centos7.2系統中php7.2.5版本中安裝自帶的擴充intl的方法。
實在是有必要將php7及其以上版本的安裝擴展方法記錄一下,網上有些教程實在是不全,倒不是別人故意漏寫,主要是他們在寫的過程中沒有涉及的這方面的需求,就碰不到這個問題。現在將遇到的坑說說。
首先php7跟以前版本的進步是巨大的,所以有必要用,但是進步大也就意味著改動大,很多老版本php的擴充已經不能再相容了。還好php7自己帶了很多擴展,像是intl.so擴展。以下將在centos7.2系統中php7.2.5版本中安裝自帶的擴展intl:
一.PHP intl 是國際化擴展,是ICU 庫的一個包裝器。所以在安裝PHP intl擴充功能前要先安裝ICU庫,安裝ICU庫的具體步驟:
mkdir /usr/local/icu cd /usr/local/icu wget http://download.icu-project.org/files/icu4c/52.1/icu4c-52_1-src.tgz tar xf icu4c-52_1-src.tgz cd icu/source mkdir /usr/local/icu ./configure --prefix=/usr/local/icu make && make install
安裝完畢:
#:icu版本你也可以去官網下載:http:/ /site.icu-project.org/download 。
--prefix=/usr/local/icu為icu的安裝路徑,也可以透過find / -name icu來找出。
二.安裝擴充套件intl.so
#1。進入php7.2.5原始碼:cd /usr/local/php/php-7.2.5/ext/intl
2。執行:phpize ,找不到指令時,將路徑補全:/usr/local/php7/bin/phpize(是php的安裝路徑),出現如下:
Configuring for: PHP Api Version: 20100412 Zend Module Api No: 20100525 Zend Extension Api No: 220100525
三。運行配置
./configure --enable-intl --with-icu-dir=/usr/local/icu/ --with-php-config=/usr/local/php7/bin/php-config
註:前面路徑為icu的安裝路徑,後面路徑為php的安裝路徑。
4。編譯擴充:make
5。複製擴展到目標資料夾
cp /user/local/php/php7.2.5/ext/intl/modules/intl.so /user/local/php7/lib/php/extensions/no-debug-non-zts-20170718
注意:也可以find / -name intl.so 尋找。
6。設定擴充加入設定檔中:
[intl] extension_dir = "/usr/local/php7/lib/php/extensions/no-debug-non-zts-20170718/" extension=intl.so
大坑:::採用phpinfo()時,無法找到設定的intl擴展,表示設定沒有生效。 。 。 。 。 。
原因:在編譯php時沒有 --with-config-file-path=PATH 指定php.ini路徑,預設的路徑為/usr/local/php7/lib,只需要將php.ini放入這個預設的路徑即可。你也可以安裝設定php時加入,如下:
./configure --prefix=/usr/local/php7 --with-config-file-path=/usr/local/php7/etc --with-curl --with-freetype-dir --with-gd --with-gettext --with-iconv-dir --with-kerberos --with-libdir=lib64 --with-libxml-dir --with-mysqli --with-openssl --with-pcre-regex --with-pdo-mysql --with-pdo-sqlite --with-pear --with-png-dir --with-xmlrpc --with-xsl --with-zlib --enable-fpm --enable-bcmath -enable-inline-optimization --enable-gd-native-ttf --enable-mbregex --enable-mbstring --enable-opcache --enable-pcntl --enable-shmop --enable-soap --enable-sockets --enable-sysvsem --enable-xml --enable-zip --enable-pcntl --with-curl --with-fpm-user=nginx --enable-ftp --enable-session --enable-xml --with-apxs2=/usr/bin/apxs
存取:index.php中phpinfo()檔。
推薦學習:php影片教學
#以上是centos7.2系統中如何安裝php7自帶的擴充intl的詳細內容。更多資訊請關注PHP中文網其他相關文章!