duanbishai5271 2014-05-11 20:26
浏览 32
已采纳

PHP不在CRON中运行,但在终端中运行

Ok so if I run this in the terminal:

/usr/bin/php /var/www/tasks/CreateContacts.php

The PHP script runs fine:

I have added this to crontab -e

*/2 * * * * /usr/bin/php /var/www/tasks/CreateContacts.php > /root/CronTasks/CreateContact_Output.txt

It seems to be running ok because CreateContact_Output.txt has been created yet contains nothing - and my outcome changes (in database) haven’t been done.

This is running on an Ubuntu server.

EDIT: Added contents of PHP file below:

<?php
include '../public_html/_dbconnect.php';
include '../public_html/_functions.php';
$query = "SELECT * FROM CustomerDetails;";
$results = mysqli_query($con, $query);
if(mysqli_num_rows($results) == 0){
        //Do fuck all
}else{
    while($row = mysqli_fetch_array($results)) {
      $HeartID = CreateHeartContact($row['Name']);
      echo 'Sending Customer ID:' . $row['id'] . '<br>';
      $UniqueID = $row['id'];
      $NewQuery = "UPDATE CustomerDetails SET ID = '$HeartID' WHERE ID = '$UniqueID';";
      mysqli_query($con, $NewQuery);
    }
}
?>
  • 写回答

1条回答 默认 最新

  • duanhuang1699 2014-05-12 10:35
    关注

    I guess you should change to the working directory before running PHP, so that your include statement work :

    */2 * * * * cd /var/www/tasks/ && /usr/bin/php CreateContacts.php > /root/CronTasks/CreateContact_Output.txt
    

    or you could use an absolute path as well in your code :

    include realpath(dirname(dirname(__FILE__))).'/../public_html/_dbconnect.php';
    
    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论

报告相同问题?

悬赏问题

  • ¥15 如何让企业微信机器人实现消息汇总整合
  • ¥50 关于#ui#的问题:做yolov8的ui界面出现的问题
  • ¥15 如何用Python爬取各高校教师公开的教育和工作经历
  • ¥15 TLE9879QXA40 电机驱动
  • ¥20 对于工程问题的非线性数学模型进行线性化
  • ¥15 Mirare PLUS 进行密钥认证?(详解)
  • ¥15 物体双站RCS和其组成阵列后的双站RCS关系验证
  • ¥20 想用ollama做一个自己的AI数据库
  • ¥15 关于qualoth编辑及缝合服装领子的问题解决方案探寻
  • ¥15 请问怎么才能复现这样的图呀