Php
PHP CLI 未載入 IMAP 擴展
當我嘗試執行
imap
在我的瀏覽器中使用的腳本時,它執行良好(它是從我的網路上安裝了擴展程序的 Ubuntu 14.04 伺服器載入的)。但是,當我嘗試在所述伺服器上使用 PHP CLI 時,它不會載入imap
.我編寫了一個簡單的腳本來檢查載入的擴展,使用
get_loaded_extensions()
它,它教會了我兩件事:
- PHP CLI 有 50 個擴展,而通過我的網路瀏覽器執行它有 51 個。
- 我在
apache2/php.ini
(imagick.so
) 中手動聲明的另一個擴展正在 CLI 和瀏覽器中載入為什麼會發生這種情況,如何在 CLI 和瀏覽器中載入所有 51 個擴展?
當通過 Apache 呼叫和通過 CLI 呼叫時,PHP 有單獨的配置文件。
例如,在 Debian 中(至少),它們分別位於
/etc/php5/apache2/php.ini
和/etc/php5/cli/php.ini
中。您在 apache2/php.ini 中手動聲明的事實
imagick.so
可能沒有任何意義 - 大多數發行版都有其他管理 PHP 模組的方式,並且通常可以自動為您啟用擴展,因此它可能已經被添加。我建議查看您的 linux 發行版如何管理 PHP 擴展(對於 Debian 和 Ubuntu,它使用一個名為 的命令
php5enmod
,需要通過 呼叫sudo
),或者只需手動編輯/etc/php5/cli/php.ini
或類似的方式來更新。