Php Cron不创建文件
使用以下代码,我将使用从数据库获得的信息创建一个xml文件:Php Cron不创建文件,php,cron,Php,Cron,使用以下代码,我将使用从数据库获得的信息创建一个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=mys
<?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文件
有没有线索说明为什么它没有被创建 如果将脚本迁移到
cron
,则始终需要检查两件事:
- 文件权限,cron作业可能会以不同的权限执行(提醒:
不是解决所有问题的解决方案)root
- 隐式路径,cron作业将具有不同的工作目录
if(unlink("api/2.xml")){
echo "deleted<br>";
}
if($dom->save("api/2.xml")){
echo "created";
}
if(取消链接(“api/2.xml”)){
回显“已删除
”;
}
if($dom->save(“api/2.xml”)){
回声“创造”;
}
现在,文件夹
api
漂浮在文件系统的某个地方。使用绝对路径,您就可以开始了。如果您将脚本迁移到cron
,则始终需要检查两件事:
- 文件权限,cron作业可能会以不同的权限执行(提醒:
不是解决所有问题的解决方案)root
- 隐式路径,cron作业将具有不同的工作目录
if(unlink("api/2.xml")){
echo "deleted<br>";
}
if($dom->save("api/2.xml")){
echo "created";
}
if(取消链接(“api/2.xml”)){
回显“已删除
”;
}
if($dom->save(“api/2.xml”)){
回声“创造”;
}
现在,文件夹
api
漂浮在文件系统的某个地方。使用绝对路径就可以了。是否检查了明显的:文件权限和环境?api文件夹拥有所有权限。。否则它将无法手动工作。。还有什么我要查的吗?谢谢@user638009:是的,如果我看对了,你正在为文件提供一个隐式路径。哎呀,鲍比,非常感谢,我看不见!!在这种格式下,我如何接受您的回答?您是否检查了显而易见的:文件权限和环境?api文件夹拥有所有权限。。否则它将无法手动工作。。还有什么我要查的吗?谢谢@user638009:是的,如果我看对了,你正在为文件提供一个隐式路径。哎呀,鲍比,非常感谢,我看不见!!在这种格式下,我如何接受您的答案?或者在其中的某个位置放置chdir()
以设置隐式路径。或者在其中的某个位置放置chdir()
以设置隐式路径。