Php 无法从cronjob与数据库建立连接

Php 无法从cronjob与数据库建立连接,php,cron,Php,Cron,我的服务器上有一个cron.php文件,它连接数据库并执行一些功能。当我使用浏览器执行这个文件时,它运行得非常好。但当它从cron执行时,在进行数据库连接时会出现以下错误: ERROR: SQLSTATE[28000] [1045] Access denied for user 'USER_NAME'@'localhost' (using password: YES)<br /> cron通常从CLI运行,因此它可能不会像浏览cron.php时那样从webroot访问此文件。尝试将

我的服务器上有一个cron.php文件,它连接数据库并执行一些功能。当我使用浏览器执行这个文件时,它运行得非常好。但当它从cron执行时,在进行数据库连接时会出现以下错误:

ERROR: SQLSTATE[28000] [1045] Access denied for user 'USER_NAME'@'localhost' (using password: YES)<br />

cron通常从CLI运行,因此它可能不会像浏览cron.php时那样从webroot访问此文件。尝试将require更改为绝对路径:

require_once __DIR__ . 'phpInclude/db_connection.php';

问题解决了。我在config.php文件中进行了localhost检查。起初,我使用wamp在localhost上创建Web服务,因此配置是localhost。后来,我在服务器上移动了项目。我通过添加以下内容更改了配置:

if(server="http://myserver.com")
    //take server config
else
    //take localhost config

cron服务选择了config inside else子句。

none。我们不知道您的db用户名和/或密码是什么。我认为您的密码不匹配。。检查一下again@MarcB恕我直言,我只是想问一下,我得到这个错误的情况可能是什么。这就是情况。您没有使用正确的凭据。错误的用户名、错误的密码和/或错误的主机名。@Harshana当我使用完整的url从浏览器执行此php文件时,它会起作用。即使是这样,我猜它在未找到文件时,也一定在必需的位置返回了错误。
    define('LOCALHOST','localhost');
    define('USER_NAME','xxxxxxxxxxx');
    define('USER_PASS','xxxxxxxxxx');
    define('DB_NAME','xxxxxxxxxx');
    define("UPLOAD_PATH","xxxxxxxxxxxx");
    define("BASE_PATH","xxxxxxxxxxxxxx");
require_once __DIR__ . 'phpInclude/db_connection.php';
if(server="http://myserver.com")
    //take server config
else
    //take localhost config