2012-07-02 71 views
0

初步信息:在本地主機上使用XAMPPPHP imap函數不能在shell中工作,但在控制器/瀏覽器中工作。 (CakePHP的2.x的)

  1. CakePHP的2.x的
  2. Ubuntu的

作爲一個Web應用程序的一部分,我做了一個腳本來檢查的新郵件的電子郵件收件箱。當有新消息時,該腳本將電子郵件的正文寫入數據庫。所有這些代碼都位於控制器中。我的腳本工作得很好,完全沒有問題!

我決定改爲使用shell中完全相同的代碼,這樣我就可以設置一個cron作業來執行此任務,而無需通過Web瀏覽器訪問該頁面。到一個shell腳本代碼移植後,當我運行shell我得到的錯誤:「是的IMAP功能加載到你的PHP配置」

PHP Fatal error: Call to undefined function imap_open()in /path/to/file.php on line 25. 

當然顯而易見的問題是與對,他們是。 我很困惑,爲什麼我在通過瀏覽器訪問控制器代碼時使用imap函數沒有問題,但是在使用shell時出現錯誤。

有什麼想法?

在此先感謝。

回答

0

我猜你的PHP命令行不與IMAP支持內置或模塊沒有爲CLI php的,看到http://ubuntuforums.org/showthread.php?t=977596。因此,請檢查或編譯支持imap的cli或獲取內置imap支持的軟件包。

+0

或者php-cli的'php.ini'只是沒有啓用imap擴展。 –

+0

@burzum非常感謝,看起來就是這樣。沒有意識到他們正在使用不同的php.ini。在你發佈的鏈接中,OP說要解決他的問題,他只是將文件'extension = imap.so'添加到文件/etc/php5/cli/php.ini中。我做到了,但沒有解決問題。我在想我可能會丟失imap.so文件,需要從某處下載並將其放在正確的目錄中。聽起來對嗎? – BigHeadCreations

+0

對不起,我不知道從哪裏得到它,我踢了每一個Linux安裝,因爲這樣的問題和每個版本和發行版之間的差異...即使你只得到這樣的文件,它不太可能適用於你的發行版和版。嘗試在ubuntu論壇尋求幫助。 – burzum

相關問題