Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Скриптовые языки программирования > PHP
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 05.02.2014, 15:58   #1
djedai
Пользователь
 
Регистрация: 29.11.2010
Сообщений: 20
По умолчанию Cron

Добрый день.Запускаю вот этот код,который ниже через cron.Он удаляет записи с таблице,чье время записи,больше определенного интервала.Запускаю каждые две минуты. Через wget скрипт прекрасно работает,но через интерпретатор не выполняется.Разбирался в чем проблемы. Почему-то не выполняется условие функции time_diff1,когда скрипт запускается через интерпретатор!Если условие не ставить,а просто удалять записи в определенное время и так и так работает.В чем может быть проблема?

Код:
<?php
require_once "config_class.php";

function time_diff1($time_past,$different){
   $timeFrom = strtotime($time_past);
   $timeNow = time();
   $diff = $timeNow - $timeFrom;
   $minutes = floor(($diff - ($hours * ($days * 3600 * 24))) / 60);
   if ($minutes>=$different) return 0; else return 1;
   
   }
	  $db=new mysqli($config->host,$config->user,$config->password,$config->dbase);
	  if ($db->connect_errno) {
  echo "Не удалось подключиться к MySQL:: (" . $db->connect_errno . ") " . $db->connect_error;
                                     }
									 
	  $db->query("SET NAMES'utf8'");
	  $result=$db->query("SELECT * FROM `$dbase`.`online`  ");
	
       while ( $row=$result->fetch_assoc()) { 
		$id=$row['id'];
// Условие функции time_diff1 не выполняется,когда запускается через интерпретатор
		if (time_diff1($row['date'],$config->time_online)==0)
 $db->query("DELETE FROM $dbase.`online`  WHERE `id`=$id ");
			}
			
		$db->close(); 
		exit;					  
?>

Последний раз редактировалось djedai; 05.02.2014 в 16:01.
djedai вне форума Ответить с цитированием
Старый 05.02.2014, 16:07   #2
Andkorol
Старожил
 
Регистрация: 31.05.2010
Сообщений: 3,301
По умолчанию

Цитата:
Сообщение от djedai Посмотреть сообщение
Код:
function time_diff1($time_past,$different){
   $timeFrom = strtotime($time_past);
   $timeNow = time();
   $diff = $timeNow - $timeFrom;
   $minutes = floor(($diff - ($hours * ($days * 3600 * 24))) / 60);
   if ($minutes>=$different) return 0; else return 1;
   
}
Откуда в функции time_diff1() вдруг появились переменные $hours и $days?
Andkorol вне форума Ответить с цитированием
Старый 05.02.2014, 18:53   #3
djedai
Пользователь
 
Регистрация: 29.11.2010
Сообщений: 20
По умолчанию

Спасибо Andkorol ! Проглядел,не скопировал,все думал что-то не так с php. Может кому нужно будет,вот эти строки еще в функцию добавить надо перед минутами!

Код:
$days = floor($diff / (3600*24));
$hours = floor(($diff - ($days * 3600 * 24)) / 3600);
И эти после require.Как скрипт еще до этого работал удивляюсь!)Тема закрыта.
Код:
$config=new config();
$dbase=$config->dbase;
djedai вне форума Ответить с цитированием
Старый 05.02.2014, 23:16   #4
Naive
Раздолбайских Дел
Старожил
 
Аватар для Naive
 
Регистрация: 22.05.2009
Сообщений: 3,828
По умолчанию

Цитата:
все думал что-то не так с php
Напрасно перестали
Alar, верни репу!
Naive вне форума Ответить с цитированием
Старый 06.02.2014, 14:09   #5
djedai
Пользователь
 
Регистрация: 29.11.2010
Сообщений: 20
По умолчанию

Цитата:
Сообщение от Naive Посмотреть сообщение
Напрасно перестали
Еще есть ошибки?
djedai вне форума Ответить с цитированием
Старый 06.02.2014, 15:12   #6
Naive
Раздолбайских Дел
Старожил
 
Аватар для Naive
 
Регистрация: 22.05.2009
Сообщений: 3,828
По умолчанию

Цитата:
Сообщение от djedai Посмотреть сообщение
Еще есть ошибки?
В PHP, есть))
Alar, верни репу!
Naive вне форума Ответить с цитированием
Старый 07.02.2014, 06:32   #7
Fenex
Форумчанин
 
Аватар для Fenex
 
Регистрация: 15.02.2012
Сообщений: 821
По умолчанию

Если бы включили вывод ошибок в лог, то можно было бы сразу понять где ошибка.
^-.-^ My GitHub
Fenex вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Cron.Avahost.Wordpress RikkiTan PHP 3 14.10.2013 18:38
WP + php скрипт в CRON F1shka WordPress и другие CMS 0 18.09.2013 12:25
Альтернатива cron gunsoy PHP 4 13.10.2012 07:01
Настройка Cron задача Авторитет PHP 3 07.04.2012 23:11
Cron + Perl + IceCast2 ev0lution Perl 1 02.03.2012 15:11