Ik heb een semi cron job. Deze moet verschillende php bestanden laden uit de cron folder. Dit zou moeten op deze wijze:
Code
//Run the cronjobs for the scripts //Load correct cron name $cron2 = mysql_query("SELECT * FROM `cron`"); $crondata = mysql_fetch_object($cron2); { $RunLog = 'includes/crons/'.$crondata->name.'.log'; //make sure you have this file downloaded too if (file_exists($RunLog)) { $lastRun = file_get_contents($RunLog);
if (time() - $lastRun >= $crondata->seconds) { //This will check last time file ran. //Select all cronjobs from the database $select = mysql_query("SELECT name FROM `cron` ORDER BY (`name`) DESC LIMIT 0,999"); while($list = mysql_fetch_assoc($select)) {
$cron= file_get_contents('http://'.$_SERVER['SERVER_NAME'].'/includes/crons/'.$list[name].'.php?password='.$cron_password.''); // here you put the link for your file or the php code file_put_contents($RunLog, time()); } } } }
Een voorbeeld van een php script is:
Code
include("../../includes/settings.php");
mysql_connect(database_server, database_user, database_pass) or die(mysql_error());mysql_select_db(database_name) or die(mysql_error());
if($_GET['password']!="$cron_password"){die("");}else{
//Enter updates to run with the cronjob
//Check if user is killed and put all possesions to the auction $doden1 = mysql_query("SELECT * FROM `users` WHERE `vermoord`>'0'"); $numdood = mysql_num_rows($doden1); $y = (date("Y")); $m = (date("m")); $d = (date("d")); $nextd = $d+1; if($nextd < 10){$nextd = "0$nextd";} $changeveilingshow = "$nextd-$m-$y / 00:00"; $changeveiling = "$y-$m-$nextd 00:00:00"; if($numdood > 0){ while($doden = mysql_fetch_object($doden1)){ while($doden = mysql_fetch_object($doden1)){ mysql_query("UPDATE `ziekenhuis` SET `showtot`='" . $changeveilingshow . "', `tot`='" . $changeveiling . "', `eigenaar`='', `laatstebod`='0', `laatstebieder`='' WHERE `eigenaar`='" . $doden->login . "'"); mysql_query("UPDATE `users` SET `bezittingen`='0' where `login` = '$doden->login'"); } } //Auction $ziekenhuis1 = mysql_query("SELECT * FROM `ziekenhuis` WHERE `eigenaar`=''"); while($ziekenhuis = mysql_fetch_object($ziekenhuis1)){ $fakedatum = (date("YmdHis")); $overheen = $ziekenhuis->tot; $overheen = str_replace(":", "",$overheen); $overheen = str_replace("-", "",$overheen); $overheen = str_replace(" ", "",$overheen); if($fakedatum > $overheen){ if($ziekenhuis->laatstebieder != ""){ mysql_query("UPDATE `ziekenhuis` SET `showtot`='00-00-0000 / 00:00', `tot`='0000-00-00 00:00:00', `eigenaar`='" . $ziekenhuis->laatstebieder . "' WHERE `stad`='" . $ziekenhuis->stad . "'"); }else{mysql_query("UPDATE `ziekenhuis` SET `showtot`='" . $changeveilingshow . "', `tot`='" . $changeveiling . "' WHERE `stad`='" . $ziekenhuis->stad . "'");}}} }}
Nou is het probleem dat mijn cron scripts niet worden geladen en het lukt me maar niet te vinden waardoor dit komt. Het password wordt goed geladen en de naam van het cron bestand staat goed in de database (cron script wordt geladen in de index.php). Iemand enig idee hoe ik dit kan oplossen? Of een alternative manier om mijn cron scripts te laden zonder cronjobs op mn server in te stellen?