我的cron作业不起作用,如果有任何PHP代码可以阻止它形成,我就会徘徊。 我知道它是如何工作的,但我想知道在PHP代码中不会读取什么样的代码。
我发现的一个代码不起作用是sessionstart()
和$_SESSION
,因为它将它像cookie一样保存在服务器上,而cron作业不会通过服务器或其他东西。
因此,是否有任何其他代码无法通过您自己的知识工作,例如file_get_contents
或fopen()
(我不知道这些代码是否有用。只是给予想法)
修改
<?php
$dbhost = "localhost";
$dbuser = "it32_2015";
$dbpass = "it32_2015";
$conn = mysql_connect($dbhost, $dbuser, $dbpass);
if(! $conn )
{
die('Could not connect: ' . mysql_error());
}
$sql = 'SELECT Title, Pubdate, Link FROM ytable';
mysql_select_db('it32_2015');
$retval = mysql_query( $sql, $conn );
if(! $retval )
{
die('Could not get data: ' . mysql_error());
}
while($row = mysql_fetch_array($retval, MYSQL_ASSOC))
{
$status .= "速報ニュース:".
"{$row['Title']} : ".
"ここでチェック!".
"{$row['Link']}".
"時間:".
"{$row['Pubdate']}".
" #yahoonews END";
}
$statusarray = explode(" END",$status);
$result = mysql_query('SELECT MIN(ID) AS min, MAX(ID) AS max FROM ytable') or exit(mysql_error());
$row = mysql_fetch_assoc($result);
$check = file_get_contents('/home/www2/it32.lady2.itall.co.jp/www/counter.php');
if($check < $row['max']){
if (is_numeric($check)){
$counter = ++$check;
}
}
$fp = fopen('/home/www2/it32.lady2.itall.co.jp/www/counter.php',"w+");
fwrite($fp, $counter);
fclose($fp);
require("/home/www2/it32.lady2.itall.co.jp/www/tweet.php");
?>
在我的代码中是否有任何我不能用于cron的代码。
答案 0 :(得分:1)
Cron作业即计划任务是定期运行的脚本。因此,脚本不打算与用户交互。它只是为了执行一项行动。因此会话不适用于cron作业的原因是因为没有用户启动会话。任何需要用户工作的PHP函数(例如setcookie()
,session_start()
)都不起作用。所有其他功能都将。
修改强>
脚本中的所有功能都将按预期工作。