使用以下代码我创建一个xml文件,其中包含从我的数据库中获取的信息:
<?php
//include 'config.php';
include '/var/www/html/folder/config.php';
$now=date('Y-m-d h:i:s');
echo "Date: ".$now."<br><br>";
$sql="SELECT * FROM awards WHERE active=3";
$result=mysql_query($sql);
// create doctype
$dom = new DOMDocument("1.0");
// create root element
$root = $dom->createElement("data");
$dom->appendChild($root);
$dom->formatOutput=true;
while($data=mysql_fetch_array($result)){
echo $data['title'];
// create ITEM
$item = $dom->createElement("item");
$root->appendChild($item);
// ID DOM
$subitem = $dom->createElement("id");
$item->appendChild($subitem);
$text = $dom->createTextNode($data['id']);
$subitem->appendChild($text);
// title DOM
$subitem = $dom->createElement("title");
$item->appendChild($subitem);
$text = $dom->createTextNode($data['title']);
$subitem->appendChild($text);
}
if(unlink ("api/2.xml")){
echo "deleted<br>";
}
if($dom->save("api/2.xml")){
echo "created";
}
?>
这没有问题,当我手动执行文件时,会创建文件2.xml。
但是当我将它添加到crontab时,日志显示正在执行cron(我获取在脚本开头回显的日期以及在while循环内回显的标题)但是2.xml文件不是创建
为什么不创造任何线索?
答案 0 :(得分:4)
如果您将脚本迁移到cron
,那么您总是需要检查两件事:
root
不是所有内容的解决方案)。我们无法为您检查文件权限,但我可以告诉您,您使用的隐式路径很可能无法以该形式运行:
if(unlink("api/2.xml")){
echo "deleted<br>";
}
if($dom->save("api/2.xml")){
echo "created";
}
现在您的文件系统中的文件夹api
浮动了一下。使用绝对路径,你很高兴。