Php

PHP CLI 未載入 IMAP 擴展

  • January 2, 2016

當我嘗試執行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或類似的方式來更新。

引用自:https://serverfault.com/questions/746293