2015-05-05 1 views
0

Другие задавали похожие вопросы, но из того, что я понимаю, их скрипты автоматизированы, но когда вы переходите к www.mydomain.com/myscript.php, скрипт все еще запускается ,Не выполняйте мой скрипт php, когда я получаю доступ к URL-адресу, но, скорее, по расписанию через Cron Job

Или, по крайней мере, так было для меня, когда я настраивал работу cron в cpanel для моего скрипта. Есть ли способ сделать это, чтобы сценарий не запускался, когда я обращаюсь к этому URL-адресу, но скорее статичен, за исключением запланированных обновлений?

Я видел решения, в которых сам сценарий редактируется, чтобы проверить последний раз, когда он запускался, и если он был меньше, чем X часов назад, он представляет этот файл журнала.
Проблема в том, что я не знаю, где найти этот файл журнала. Я использую BlueHost, если это имеет значение.

+2

нет стандартного «файла журнала», чтобы сказать, когда последний запуск сценария. это то, что сам скрипт должен будет создавать/поддерживать. но почему один сценарий делает все это? иметь фактическую работу где-то за пределами вашего корня документа (cron не заботится), чтобы выполнить задание, то что-то в вашем веб-корте, которое просто представляет результаты любого последнего прогона. сохранение главного скрипта задания вне корня doc полностью предотвращает его выполнение, удаляя URL-адрес. –

+0

Ах, я вижу. Проблема в том, что мой веб-интерфейс ограничен, а также мой php. Можете ли вы порекомендовать любой учебник или что-то еще? Спасибо за предложение. – Jameson

+0

Главное, что Марк говорит, что вы должны поместить скрипт за пределы веб-корня. Знание программирования для этого не требуется, только cPanel. –

ответ

0

Вы можете добавить что-то наподобие if ($argv[1] == 'RUN') вверху вашего скрипта php (прежде чем он начнет выполнять ваши вещи).

Тогда вам просто необходимо передать этот параметр в вашей команде хрон, то есть: 4 4 * * * /usr/bin/php /var/www/mydomain.com/myscript.php RUN бежать в 04:04 каждый день (пь легко WebTool проверить ваши хроны утверждения верно - http://cronchecker.net/)

Таким образом, вы может сохранить ваш скрипт там, где он есть, но он не будет выполняться, когда вы перейдете к нему.

+0

Ahhh, понял. Умная. Я попробую. – Jameson

+0

Но тогда в моем приложении, когда я извлекаю данные с этого URL-адреса, URL-адрес будет пустым, не так ли? Мне нужно, чтобы он представил JSON. – Jameson

+0

Тогда вам нужно будет поставить блокблока, который отвечает за предоставление данных вне оператора if :-) – wkoot

Смежные вопросы