Помогите пожалуйста сообразить как правильно писать выполнение задания cron.
Как пишу я:
Время: /1 * * * * (каждую минуту)
Выполнить: %progdir%\modules\php\%phpdriver%\php-win.exe -c %progdir%\userdata\temp\config\php.ini -q -f %sitedir%\redneck\crone.php
Если что open server у меня располагается по адресу: C:\OpenServer
Скрипт который нужно выполнить лежит в: C:\OpenServer\domains\redneck
Содержимое скрипта:
<?php
session_start();
include("db_reg.php");
$e_login = $_SESSION['l_hp'];
$e_password = $_SESSION['p_hp'];
$STH = $DBH->query("SELECT * FROM resours WHERE login='$e_login' AND password='$e_password'");
$STH->setFetchMode(PDO::FETCH_ASSOC);
$rez = $STH->fetch();
$bar = $rez['bar'] + 1;
$STH = $DBH->prepare("UPDATE resours SET bar='".$bar."' WHERE login='$e_login' AND password='$e_password'");
$STH->execute();
?>
Логи:
31 Mar 18:43:20 Start nnCron
31 Mar 18:43:20 Load cron.tab
Сам по себе, с браузера, скрипт работает. Но в кроне нет. Что я делаю не так, подскажите пожалуйста!?
В общем один человек нанял на работу перепилить дизайн. У меня появилось неоткладное дело. Цена примерно 3500-5000 грн. Но вы ее и сами можете обсудить с заказчиком. Кому слить? Ничего трудно, просто по своему вкусу полностью переделать дизайн на современный. Хочу еще предупредить что там база на 36 Гб в zip.)) Пишите в skype Anagar333.
Приведите сам запрос на LOAD + логи? + mysqlimport пробовали?
Че? (Добавление)
Viper пишет:
Приведите сам запрос на LOAD + логи? + mysqlimport пробовали?
Весь дамп прислать не могу, там он 250 мг.)) Архив 30. Его и гружу. Главное если этоу часть кода через sql запрос кидать, то все ок, создаются, а дампом нет...
public_html -> тут ваш сайт, причем только index.php и статика
application -> тут весь код движка сайта
Вот и размещайте скрипты для крона где угодно, только не в public_html
Если вы не можете так сделать, создайте отдельную директорию для крон-скриптов и закройте ей доступ в .htaccess (deny from all)
2. Можно почитать мануал http://open-server[dot]ru/docs/#planirovshhik или поискать на его форуме. Вопрос там не раз обсуждался.
В конце-концов можете использовать хоть виндовый планировщик.
Ок, про крон файлы я понял. А вот на счет движка вне публик не совсем. Как мне может навредить размещение движка в публике? Он же пользователю отправлен не будет.)) И спс за ответ.)
1. Я еще нуб в cron запросах. Вот допустим если я создам страницу с некими командами для крона, типа "обратись в базу и измени то то и то то" и укажу в настройках крона путь к этому файлу. Если к этой странице обратится обыкновенный пользователь то он тоже совершит изменения в бд? Если да, то как сделать проверку на то cron это или хрен знает кто?!
2. Как сделать cron на хостинге я в курсе, но как его сделать в локальном сервере "Open Server" нет. Как его сделать?
3. Я все пробовал сделать бесконечную прогрессию роста вероятности или ее падение, не получалось.
Вот что пробовал:
$v1 = 10; // число с формы.
$v2 = 5; // число с формы.
$v3 = $v1 / $v2; // разница между числами.
if (mt_rand(1, (($v3 * 50) * 2)) >= 50){
v4 = ""Вероятность себя оправдала!;
}
$ver = 100 - (100 / ($v3 * 2));
echo "вероятность = " . $ver;
echo $v4;
Суть задачи в том что бы при увеличении разницы (v3) увеличивалась вероятность выполнения условия, даже если разница будет 10000 или 100000000, и т.д., что бы она была в таком случае максимально приближенная к 100%. и соответственно при уменьшении приближена к 0%, но никогда не была ровна 0% или 100%. С бесконечным увеличением вроде бы как все ок в этом скрипте, но с уменьшением проблема, так как при разнице (v3) меньше чем 0.5 вероятность выполнения if приравнивается ровно к нулю. Есть какие то идеи у кого то? Буду очень благодарен.
Латынь фигня.
Что будете делать с такой строкой:
$info = "It строка..";
Что с ней станет после нарезки по байтам, а не символам?
в моем случае я перебираю строку по букве циклом, и в зависимости от того какая буква делаю дело.)) Так что проблем не возникнет.) (Добавление)
esterio пишет:
Anagar
В правильности использования функций. mb_* функции созданы как раз для работы с многобайтными строками. А если завтра будет не кирилица, а скажем латынь у которей например 4 байта. Что будете тогда делать?
Ух уж этот ПХП, что не напиши все работает
Я прислушался к вашему совету, по отталкиванию от кода клавиши с буквой, мне как раз так удобнее всего. Так что не то не то уже не нужно. Но я понял, перебирать буквы лучше mb. (Добавление)
DelphinPRO пишет:
Anagar пишет:
Все, проблему решил, с русскими помогло это:
$info = "строка..";
str_split($info, 2);
Говнокодъ.
Прислушайтесь к советам. (Добавление)
накидал тут примерчик поаккуратнее
не хотят работать с русскими буквами полученными с массива таким образом как в моем случае?
кодировка какая?
Да переделайте же в массив соответствий и через if с in_array проверяйте и делайте операции.
Кодировка UTF-8 - без BOM. В како массив переделать то? (Добавление)
IllusionMH пишет:
Anagar, а сколько байт занимает расская буква "а"? Вы читаете по одному байту, а нужно использовать что-то типа mb_split или как в примере здесь. (и набор if/switch кейсов) лучше заменить на массив (либо вообще на разницу между кодами символов а и текущего)
Если не трудно, маленький примерчик приведите пж.) А то я пробвал, чет не очень получается.)
Проблема заключается в том, что вариант со switch работает как должно, $total увеличивается, а вариант с if-elseif нет. Я пробовал его тоже под switch переделать, но все равно не работает. как я понял далее проблема в том что условие в if имеет дело с русскими буквами. Почему не if не switch не хотят работать с русскими буквами полученными с массива таким образом как в моем случае?
Это очень просто. Используется планировщик, обычно cron.
Ему указывается время выполнения, например, раз в 5 минут, а также путь к скрипту php, скрипт уже делает расчёты и обновляет базу данных.
Я вот всегда думал как можно реализовать самообновляющуюся базу.. Это возможно сделать средствами пыха? Что бы вы меня лучше понимали: Допустим у меня есть страница рейтинга и каждые 5 мин информация на ней должна обновляться, а точнее в базе, ибо инфу о рейте страница берет из заранее заготовленного результата в бд на ближайшие 5 мин. Но как сделать такой скрипт который каждые 5мин будет без обращения каких либо посредников вносить изменения в бд за графиком? Полагаю пых на это не способен..?! Если нет то как вообще такое реализуют?