好的,如果我在终端上运行它:
/usr/bin/php /var/www/tasks/CreateContacts.php
PHP脚本运行良好:
我已将此添加到crontab -e
*/2 * * * * /usr/bin/php /var/www/tasks/CreateContacts.php > /root/CronTasks/CreateContact_Output.txt
似乎运行正常,因为CreateContact_Output.txt
已创建但尚未包含任何内容 - 我的结果更改(在数据库中)尚未完成。
这是在Ubuntu服务器上运行。
编辑:在下面添加了PHP文件的内容:
<?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);
}
}
?>
答案 0 :(得分:2)
我想你应该在运行PHP之前切换到工作目录,这样你的include
语句就可以了:
*/2 * * * * cd /var/www/tasks/ && /usr/bin/php CreateContacts.php > /root/CronTasks/CreateContact_Output.txt
或者您也可以在代码中使用绝对路径:
include realpath(dirname(dirname(__FILE__))).'/../public_html/_dbconnect.php';