Здравствуйте, подскажите в чём может быть дело, если при выполнении скрипта из браузера файл открывается и данные записываются нормально, а со встроенного в openserver планировщика - скрипт выполняется, а именно fopen - нет. Код (PHP): <?php include("include/config.php"); $res = mysql_query("SELECT * FROM `banlist` WHERE `date_end`<'".time()."'"); if(mysql_num_rows($res)){ mysql_query("DELETE FROM `banlist` WHERE `date_end`<'".time()."'"); while($row = mysql_fetch_assoc($res)) $log = "unban.php => Игрок ".$row["name"]." был разблокирован на сервере ".$row["server"]."."; } else $log = "Check banlist is null"; $res = null; if($log != '') { $datelog = date("d-m-Y H:i", time()); $fp = fopen('/lk/log.txt', 'a'); fwrite($fp, "[".$datelog."] ".$log."\n"); fclose($fp); }?> Этот код должен делать запрос в БД, сверять время, удалять запись если время в БД больше чем реальное и записывать всё это в лог. Все операции кроме записывания в лог выполняются. Заранее спасибо.
какую команду указываете в cron ? попробуйте примерно так прописать: Код (PHP): /usr/local/bin/wget -q -O /dev/null http://site.ru/путь к скрипту/название скрипта.php
Прописывал так: Код (PHP): Z:\modules\php\PHP-5.6\php.exe -f Z:\domains\....com\lk\unban.php cron Прописал как вы сказали: Код (PHP): $ /usr/local/bin/wget -q -O /dev/null http://....com/lk/unban.php Системе не удается найти указанный путь.
в общем попробуйте через утилиту wget запускать. в openserver наверно путь другой до wget. Погуглите: wget cron openserver
Вообщем причина вот в чём: В самом исполняемом файле, который я вызываю, путь к документу прописан так: /lk/unban.php а надо писать полный путь к директории, то есть: Z:/domains/....com/lk/unban.php. Даже когда прописал url (http://www....com/lk/unban) - консоль выдала ошибку, "failed to open stream: HTTP wrapper does not support writeable connections". Так что спасибо за помощ.