2016-04-04 73 views
0

我想做一個cron作業來刪除任何已停用他們的帳戶的用戶一年前,該腳本在網站上工作,但通過一個cron作業時,我得到一個致命的錯誤。無法連接到MySQL數據庫與Cron作業

Fatal error: Cannot instantiate non-existent class: pdo in /homepages/9/d526231279/htdocs/cupidmemories/cronjobs/users.cron.php on line 2

這裏是我的users.cron.php文件:

<?php 
$db = new PDO('mysql:host=dbhost.com:port; dbname=dbname;', 'user', 'pass'); 

$query = "DELETE FROM users WHERE account_deleted='4'"; 
$db->query($query); 
?> 

回答

1

致命錯誤:不存在的類錯誤消息是由good old PHP/4顯示無法實例。 PDO類需要PHP/5.1.0或更高版本。你根本不能使用這樣一個過時的解釋器來運行任何類似於現代代碼的東西。

希望您的託管服務提供商可能有一個新的解釋器可用,如果你提供相應的完整路徑,所以你可以取代這個:

*/10 * * * * php /homepages/9/d526231279/htdocs/cupidmemories/cronjobs/users.cron.php 

...有例如這樣的:

*/10 * * * * /opt/php5.6/bin/php /homepages/9/d526231279/htdocs/cupidmemories/cronjobs/users.cron.php 

(這些都是假的路徑,不只是複製他們期望工作)

+0

完美!謝謝! – Julian

1

大多數的Apache/PHP安裝有2個獨立的php.ini文件。

我會說Apache/PHP使用的是好的,但另一個沒有激活PDO擴展。

做一個

>php --ini 
從命令行

,你會看到線,告訴你在哪裏PHP CLI從得到了它的php.ini文件。編輯從而使

extension=php_pdo_mysql.so 

被激活