為PHP編譯imap擴充套件
最近為專案增加了郵箱登陸的驗證,本地測試OK,部署至伺服器上提示 imap_open 為未定義函式,由此可知缺少了IMAP的PHP擴充套件。
解決辦法,首先看官網的安裝說明,原來需要提前安裝 imap-open2007e 才行。從 ftp://ftp.cac.washington.edu/imap/ 的網站上下載了原始碼,但是這個的安裝卻讓我比較頭疼,因為沒有 configure 檔案,也沒有一個說明文件。參考了其他朋友的辦法,使用了下面的方法:
wget ftp://ftp.cac.washington.edu/mail/imap.tar.Z
tar zxf imap.tar.Z
cd imap-2007a
make lr5 PASSWDTYPE=std SSLTYPE=unix.nopwd IP6=4
echo “set disable-plaintext nil” > /etc/c-client.cf
mkdir /usr/local/imap-2007a
mkdir /usr/local/imap-2007a/include/
mkdir /usr/local/imap-2007a/lib/
chmod -R 077 /usr/local/imap-2007a
rm -rf /usr/local/imap-2007a/include/*
rm -rf /usr/local/imap-2007a/lib/*
rm -rf /usr/sbin/imapd
cp imapd/imapd /usr/sbin/
cp c-client/*.h /usr/local/imap-2007a/include/
cp c-client/*.c /usr/local/imap-2007a/lib/
cp c-client/c-client.a /usr/local/imap-2007a/lib/libc-client.a
他這個過程中 rm –rf 的過程,我覺得是防止這幾個目錄中有其他不必要的檔案,所以建立了資料夾後,又做了一次刪除操作。完成這個過程之後,系統的 imap-open 環境就準備好了,進行php擴充套件的安裝。
我這裡因為已經安裝了PHP,而且我也不想重新編譯整個環境,所以我只需要編譯這個擴充套件就行。系統中的PHP為5.2.9版本,找到對應版本的原始碼,進入 ./ext/extension/imap/資料夾下,執行下面的步驟:
/usr/local/apache/bin/phpize
./configure –with-php-config=/usr/local/apache/bin/php-config –prefix=/usr/local/apache/ –with-imap=/usr/local/imap-2007e/ –with-imap-ssl
make
make install
完成後,在php的extension/no-debug-non-zts-xxx 下就能看到編譯好的so檔案,新增到 php.ini 中,重啟伺服器,就可以看到imap 模組啟動了。
參考資料:
1、PHP IMAP Installation
2、終於搞定PHP中安裝imap擴充套件解決辦法
3、PHP with imap support
相關文章
- PHP Linux安裝擴充套件(編譯安裝)PHPLinux套件編譯
- Web編譯器Visual Studio擴充套件Web編譯套件
- 為Unity元件編寫擴充套件Unity元件套件
- PHP擴充套件開發教程2 – 編寫第一個擴充套件 hello worldPHP套件
- Linux下編寫一個PHP擴充套件LinuxPHP套件
- 新增php擴充套件PHP套件
- 【記錄】編譯安裝 SeasLog 擴充套件編譯套件
- 【記錄】編譯安裝 YAML 擴充套件編譯YAML套件
- 【記錄】編譯安裝 ProtoBuf 擴充套件編譯套件
- [記錄] 編譯安裝 IgBinary 擴充套件編譯套件
- [記錄] 編譯安裝 YAML 擴充套件編譯YAML套件
- 【記錄】編譯安裝 IgBinary 擴充套件編譯套件
- [記錄] 編譯安裝 ProtoBuf 擴充套件編譯套件
- [記錄] 編譯安裝 SeasLog 擴充套件編譯套件
- centos下為php新增gd擴充套件CentOSPHP套件
- PHP擴充套件開發就是一個自己的PHP擴充套件PHP套件
- 開發php擴充套件PHP套件
- PHP 擴充套件安裝PHP套件
- 編寫基於PHP擴充套件庫的後門PHP套件
- 在Windows下為PHP安裝redis擴充套件WindowsPHPRedis套件
- PHP 安裝 yaconf 擴充套件PHP套件
- (MAC) PHP擴充套件安裝MacPHP套件
- php8.2 redis擴充套件PHPRedis套件
- Go開發PHP擴充套件GoPHP套件
- PHP安裝redis擴充套件PHPRedis套件
- php新增pcntl擴充套件(Linux)PHP套件Linux
- php mysql擴充套件安裝PHPMySql套件
- php amqp擴充套件安裝PHPMQ套件
- php以及php擴充套件memcache 安裝PHP套件
- 一步步入門編寫PHP擴充套件PHP套件
- 編寫可擴充套件程式套件
- 為效能而生,PHP Excel 擴充套件 xlswriter 1.3.3 釋出!PHPExcel套件
- 【PHP】php安裝bcmath擴充套件指令碼PHP套件指令碼
- PHP:php7.2.3 安裝pcntl 擴充套件PHP套件
- php 擴充套件安裝(隨筆)PHP套件
- PHP 安裝 amqp、rabbitmq 擴充套件PHPMQ套件
- PHP 操作 Redis 之 phpredis 擴充套件PHPRedis套件
- laragon 新增 PHP_Redis 擴充套件GoPHPRedis套件
- Homestead 安裝 PHP Redis 擴充套件PHPRedis套件