我必须每两个小时从cron作业中运行一个PHP文件,并且通过cron运行PHP脚本时出现MySQL数据库连接错误。该脚本可以正常运行,并且完全符合我预期从浏览器甚至从命令行运行的脚本。
我已经阅读了在Google搜索结果中找到的所有答案,但是没有一个可以解决我的问题。我认为没有任何与我的问题有关的答案,所以我在问这个问题。
以下是数据库连接php脚本:
<?php
$cs = "localhost";
$cu = "root";
$cp = "mypassword";
// $cp = "";
$cn = "mydatabasename";
$conn = @mysqli_connect($cs, $cu, $cp, $cn);
if (!$conn) {
die("Database connection error... " . mysqli_connect_error());
}
我正在从浏览器和命令行运行脚本,一切都按预期运行,就在我从cronjob运行脚本时,出现以下错误:
数据库连接错误...用户'root'@'localhost'的访问被拒绝(使用密码:NO)
假设root,mypassword,mydatabasename是正确的凭据,因为我可以在浏览器甚至命令行上成功运行脚本。我正在cronjob中使用PHP文件的绝对路径。
我正在通过以下命令运行cronjob:
0 0-23/2 * * * php -f /var/www/html/project-name/execute-cronjob.php >> /var/www/html/project-name/output.log
我正在使用Ubuntu,并具有VPS服务器。
请帮助我解决问题,并告诉我是否需要更多有关此信息。
谢谢!
答案 0 :(得分:-1)
改用shell脚本
[HttpPost]
public ActionResult Word()
{
var assigned = Json(Assigned(), JsonRequestBehavior.AllowGet);
return assigned;
}
有类似的答案here