>  기사  >  백엔드 개발  >  为何crontab -e不能执行fwrite写入文件?蹦溃了

为何crontab -e不能执行fwrite写入文件?蹦溃了

WBOY
WBOY원래의
2016-06-13 11:21:22963검색

为什么crontab -e不能执行fwrite写入文件?蹦溃了。

function Write_FileFun_new($filename,$filedir, $htmldata = '') {<br />	if(!is_dir($filedir)) {<br />		mkdir($filedir, 0777);<br />	}<br />	$htmlfile = $filedir.$filename;<br />	if($fp = fopen($htmlfile, 'wbt')) {<br />		fwrite($fp,$htmldata);<br />		fclose($fp);<br />	} else {<br />		echo "<center><p>Can not write to files, please check directory $htmldir.</p></center>";<br />		exit;<br />	}<br />}<br />$testnum_temp="<?php \$testnum = ".(intval($testnum)+1)."; ?>";<br />Write_FileFun_new("test.php","inc/", $testnum_temp);


用浏览器运行页面是正常写入的,
在crontab -e中设置定时每分钟执行一次没有写入文件,crontab -e定时执行是正常,可以每分钟执行一次。
为什么会这样,就差这一个地方了,其它程序都正常执行,就差这个不能写入。为什么啊?


------解决方案--------------------
inc/ 是相对路径
请先弄清楚是相对谁的
------解决方案--------------------
看看日志,有什么警告信息吗?
------解决方案--------------------
你把crontab里面的命令直接在命令行运行一下看看什么反应
------解决方案--------------------
写一个sh,处理好权限 在这个文件里调用/usr/bin/php /var/www/html/write.php 最后在crontab 使用root 身份调用..
성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.