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 关于#python#的问题:求帮写python代码
  • ¥15 LiBeAs的带隙等于0.997eV,计算阴离子的N和P
  • ¥15 关于#windows#的问题:怎么用WIN 11系统的电脑 克隆WIN NT3.51-4.0系统的硬盘
  • ¥15 来真人,不要ai!matlab有关常微分方程的问题求解决,
  • ¥15 perl MISA分析p3_in脚本出错
  • ¥15 k8s部署jupyterlab,jupyterlab保存不了文件
  • ¥15 ubuntu虚拟机打包apk错误
  • ¥199 rust编程架构设计的方案 有偿
  • ¥15 回答4f系统的像差计算
  • ¥15 java如何提取出pdf里的文字?