php - 使用 crontab 执行 PHP 文件

标签 php mysql cron crontab

你好,我想用 crontab 执行一个 php 文件。这个 PHP 文件更新了 MySQL 数据库,当我在浏览器中输入 URL 时,我可以执行该文件,但不能作为 cronjob。

我加

*/5 * * * * php -f /var/www/html/.../update.php >/dev/null 2>&1

到 crontab,其他 cronjobs 运行良好(第 3 部分扩展)。

我需要在我的 PHP 文件中添加一些代码吗?谢谢。

这里是 PHP 文件里面的内容

<?php
$servername = "";
$username = "";
$password = "";
$dbname = "";

// Create connection
$conn = new mysqli($servername, $username, $password, $dbname);

// Check connection
if ($conn->connect_error) {
    die("Connection failed: " . $conn->connect_error);
} 

$sql = "UPDATE pm_videos SET `description` = REPLACE(  `description`  ,'Instagram:',  '')";
if ($conn->query($sql) === TRUE) {
    echo "Record updated successfully with Facebook, ";
} else {
    echo "Error updating record: " .  $conn->error;
}

$sql = "UPDATE pm_videos SET `description` = REPLACE(  `description`  ,'Facebook:',  '')";
if ($conn->query($sql) === TRUE) {
    echo "Record updated successfully with Facebook, ";
} else {
    echo "Error updating record: " .  $conn->error;
}

$conn->close();

最佳答案

通常,这是由 $PATH 问题引起的。尝试通过 crontab -u root -e 将其添加为 crontab 的第一行:

PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin

如果这不能解决问题,您将需要在您的代码中查找您可能调用外部命令的地方,或者根据环境变量的值查找。如果这不起作用,请编辑您的帖子并显示 update.php 的内容。

关于php - 使用 crontab 执行 PHP 文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34575062/

相关文章:

php - 如何使用参数和查询执行插入

php - 如何使用 PHP 显示 postgresql 搜索结果

sql - 在另一个表的嵌套 SELECT 上执行 NOT IN 时查询速度很慢

php - 允许服务器运行 cron 作业但使用 .htaccess 阻止普通用户访问

php - 如何使用 php 删除 json 响应中的反斜杠 ("\")?

php - 从 codeigniter 中删除查询

c# - 使用 TPH 在 Entity Framework 中找出具有主键的类型

php - Crontab 没有运行 PHP 脚本,尽管有日志

linux - Linux 环境中的 Perl 脚本无法通过 cron 运行

php - Laravel:具有关系的查询构建器