為PHP編譯imap擴充套件

2021-09-06 03:31:36 字數 1341 閱讀 2449

最近為專案增加了郵箱登陸的驗證,本地測試ok,部署至伺服器上提示 imap_open 為未定義函式,由此可知缺少了imap的php擴充套件。

wget

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-*** 下就能看到編譯好的so檔案,新增到 php.ini 中,重啟伺服器,就可以看到imap 模組啟動了。

編譯安裝IMAP

編譯courier imap 進入courier imap的源 目錄 cd courier imap 2.1.2 configure prefix usr lib courier imap enable unicode enable workarounds for imap client bugs ...

php擴充套件編譯(以memcached為例)

2 解壓並切換進入擴充套件包的目錄 3 使用phpize工具自動生成 configure 4 configure配置擴充套件 5 編譯並安裝擴充套件 下面以編譯php的memcached擴充套件來做乙個 參考 編譯memcached需要libmemcached庫,所以我們先安裝一下libmemcac...

編譯php擴充套件

php的很多模組都是以php的擴充套件形式來進行的。所以在php安裝好的環境下需要用到之前安裝時沒有編譯安裝的php擴充套件的時候,這個時候編譯安裝php擴充套件就顯得尤為的重要,因為不可能再次編譯安裝php環境。一 在windows下編譯安裝php擴充套件 1 使用phpinfo 函式來檢視當前編...