Если у вас есть веб-сервер (не только установленный интерпретатор php, но и LAMP / LNMP / etc) - просто попробуйте это
wget -O - -q -t 1 "http://mysite.com/file.php?show=show_name" >/dev/null 2>&1
где:
- «-O -» - (буква «О», а не ноль!) Перенаправить «скачанный html» на стандартный вывод
- «> / dev / null 2> & 1» - перенаправить вывод stdout & stderr в никуда
- «-q» - тихий wget пробег
- «-t 1» - просто 1 попытаться подключиться (не так, как по умолчанию 20)
В "exec" PHP это будет что-то вроде этого:
function exec_local_url($url) {
exec('/usr/bin/wget -O - -q -t 1 "http://'. $_SERVER['HTTP_HOST'] .'/'
. addslashes($url) . '" >/dev/null 2>&1'
);
}
// ...
exec_local_url("file.php?show=show_name");
exec_local_url("myframework/seo-readable/show/show_name");
Итак, вам не нужно изменять свои скрипты для обработки argc / argv, и вы можете использовать $ _GET, как обычно.
Если вы хотите, чтобы задания выполнялись в фоновом режиме - см. Например. Unix / Windows, Настройка фонового процесса? из php кода
Я использую подход с wget в моих заданиях cron; надеюсь, это поможет.