2013-03-03 75 views
0

我試圖運行訪問我的數據庫並執行一些文件傳輸的CRON作業。從另一個剛剛進行文件傳輸的CRON作業調整它,我把命令:此適配器需要PDO擴展,但擴展未加載CRON作業錯誤

php -qn -d memory_limit=128M 

在我的CRON文件的前面。我記得我添加了memory_limit,因爲我正在傳輸文件,但不記得爲什麼我有-qn -d的生活。複製同樣的命令需要訪問使用Zend_Db_Adapter_Pdo_Mysql數據庫另一個cron作業,我得到了錯誤:

「PDO擴展需要這個適配器,但擴展不加載錯誤」

而且,它只是當我使用命令

php -q 

錯誤消失。 2個問題,然後:

1)關於CRON工作,「-qn -d memory_limit = 128M」和「php -q」之間的區別是什麼?

2)爲什麼我在使用前一個命令而不是後一個命令時遇到PDO問題?

-Eric

回答

1

-n標誌的意思是「不使用任何的php.ini文件」,因此它不加載任何擴展(導致PDO錯誤)。 -d標誌允許您設置PHP配置變量,因此在您的示例中,您將覆蓋默認的內存限制。

+0

考慮到這一點,我可以有我的蛋糕,也吃了嗎?換句話說,是否有配置選項來加載擴展以及覆蓋內存限制? – Eric 2013-03-04 01:53:43

+0

是的,應該工作,只需刪除-n:'-q -d memory_limit = 128M' – 2013-03-04 09:05:18

+0

行!這就說得通了。然而,我的主機(我使用的是共享主機提供商,如果這有所影響)我的印象是,我還需要-n作爲CRON作業,否則memory_limit = 128M將被忽略。如果這是真的,有沒有辦法通過CRON工作來加載擴展,或者-n實際上是多餘的? – Eric 2013-03-04 14:58:15