[英]Cannot connect to MySQL Database with Cron job
我正在嘗試執行cron作業,以刪除一年前停用其帳戶的所有用戶,該腳本在網站上有效,但是通過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);
?>
大多數Apache / PHP安裝都有2個單獨的php.ini
文件。
我想說Apache / PHP使用的一個很好,但是另一個沒有激活PDO擴展。
做一個
>php --ini
從命令行開始,您將看到一行告訴您PHP CLI從何處獲取其php.ini
文件的行。 編輯它,以便
extension=php_pdo_mysql.so
被激活
致命錯誤: 舊的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
(這些是偽造的路徑,不要只是復制它們期望工作的路徑。)
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.