无法使用Cron作业连接到MySQL数据库

时间:2016-04-04 14:49:44

标签: php mysql pdo cron

我正在尝试创建一个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);
?>

2 个答案:

答案 0 :(得分:1)

大多数Apache / PHP安装都有2个单独的php.ini个文件。

我会说Apache / PHP使用的那个很好,但是另一个没有激活PDO扩展。

做一个

>php --ini 
从命令行

,您将看到一行,告诉您PHP CLI从哪里获取其php.ini文件。编辑,以便

extension=php_pdo_mysql.so

已激活

答案 1 :(得分:1)

good old PHP/4显示致命错误:无法实例化不存在的类错误消息。 PDO类需要PHP / 5.1.0或更高版本。你根本无法使用这样一个过时的解释器来运行任何类似于现代代码的东西。

希望如果您提供适当的完整路径,您的托管服务提供商可能会有更新的解释器,因此您可以替换它:

.zui-table {
    border: solid 1px #DDEEEE;
    border-collapse: collapse;
    border-spacing: 0;
    font: normal 13px Arial, sans-serif;
}
.zui-table thead th {
    background-color: #DDEFEF;
    border: solid 1px #DDEEEE;
    color: #336B6B;
    padding: 10px;
    text-align: left;
    text-shadow: 1px 1px 1px #fff;
}
.zui-table tbody td {
    border: solid 1px #DDEEEE;
    color: #333;
    padding: 10px;
    text-shadow: 1px 1px 1px #fff;
}
.zui-table-rounded {
    border: none;
}
.zui-table-rounded thead th {
    background-color: #CFAD70;
    border: none;
    text-shadow: 1px 1px 1px #ccc;
    color: #333;
}
.zui-table-rounded thead th:first-child {
    border-radius: 10px 0 0 0;
}
.zui-table-rounded thead th:last-child {
    border-radius: 0 10px 0 0;
}
.zui-table-rounded tbody td {
    border: none;
    border-top: solid 1px #957030;
    background-color: #EED592;
}
.zui-table-rounded tbody tr:last-child td:first-child {
    border-radius: 0 0 0 10px;
}
.zui-table-rounded tbody tr:last-child td:last-child {
    border-radius: 0 0 10px 0;
}

......例如这样:

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

(这些都是假路径,不要只是复制它们,希望能够正常工作。)