顯示廣告
隱藏 ✕
看板 Knuckles_note
作者 Knuckles (站長 那克斯)
標題 [PHP] 安裝 PECL 延伸模組 mailparse
時間 2011年06月22日 Wed. AM 09:48:15


PECL(The PHP Extension Community Library),PHP的標準延伸模組,可以補充實際開發中所需的功能。
所有的延伸模組都需要安裝,在Windows下面以DLL的形式出現;在linux下面需要單獨進行編譯,
是根據PHP官方的標準用C語言寫成,儘管源碼開放但是一般人無法隨意更改源碼。


1.首先到 http://pecl.php.net 搜尋模組的source並下載到主機上,例如要裝 mailparse

http://pecl.php.net/package/mailparse 複製2.1.6版的 download 網址
(新的3.0.2版編譯會有錯誤)

$ cd /usr/local/src
$ sudo wget https://pecl.php.net/get/mailparse-2.1.6.tgz

2.解壓縮

$ sudo tar -zxvf mailparse-2.1.6.tgz

3.編譯

$ cd mailparse-2.1.6
$ sudo phpize
$ sudo ./configure
$ sudo make
$ sudo make install

下達make install後,會告知你extension被安裝在哪:
Installing shared extensions:     /usr/lib64/php/modules/


4.載入extension

如果是 CentOS 時,mailparse必需在mbstring之後載入才行
$ sudo vim /etc/php.d/mbstring.ini
修改為
extension=mbstring.so
extension=mailparse.so



5.重新啟動apache

(CentOS 6)$ sudo service httpd restart
(CentOS 7)$ sudo systemctl restart httpd

執行 phpinfo() 若裝成功會出現 mailparse 的區塊




=========windows下使用appserv的安裝法==============

下載  php_mailparse.dll  (要google一下)

存進 AppServ的資料夾中的 \php5\ext\ 之下

修改 C:\windows\php.ini

加上 extension=php_mailparse.dll

使用 phpinfo() 來看有沒有裝成功
沒有的話 換個 .dll 檔再試試



□ 問題解決記錄

若出現warning:  undefined symbol: mbfl_name2no_encoding
代表沒有裝 mbstring 或是 mbstring 比 mailparse 晚載入
修改 php.ini ,讓 mbstring 在 mailparse 之前

extension=mbstring.so
extension=mailparse.so

如果是 CentOS 時, extension=mbstring.so 這行在  /etc/php.d/mbstring.ini
刪除 /etc/php.d/mailparse.ini
修改 /etc/php.d/mbstring.ini 為

extension=mbstring.so
extension=mailparse.so

--
※ 作者: Knuckles 時間: 2011-06-22 09:48:15
※ 編輯: Knuckles 時間: 2017-02-24 23:35:24
※ 看板: KnucklesNote 文章推薦值: 0 目前人氣: 0 累積人氣: 830 
分享網址: 複製 已複製
e)編輯 d)刪除 ^x)轉錄 同主題: =)首篇 [)上篇 ])下篇