Если у вас есть веб-сервер (устанавливается не только PHP интерпретатором, но LAMP/LNMP/и т.д.) - просто попробуйте это
wget -O - -q -t 1 "http://mysite.com/file.php?show=show_name" >/dev/null 2>&1
где:
- «-О -» - (Letter «O», а не ноль!) Перенаправление "загруженное HTML" на стандартный вывод
- «>/DEV/нуль 2> & 1» - перенаправление STDOUT & выхода Stderr в никуда
- «-q» - тихий Wget пробег
- «-t 1 »- просто пытаются подключиться (не так, как по умолчанию 20)
в РНР "Exec", это будет чем-л так:
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.
Если вы хотите, чтобы работа выполнялась в фоновом режиме - см. Ex. Unix/Windows, Setup background process? from php code
Я использую подход с wget в своих работах cron; Надеюсь, поможет.
Лучший ответ, чем принятый: вместо «php» используйте исполняемый файл «php-cgi». См. Http://stackoverflow.com/a/11965479/543738 –