Я новичок в работе cron, и я много сделал для этого, но я не мог полностью его понять. Может ли cron задавать доступ к файлам cookie или переменным сеанса?
благодаря!
Задача cron не сможет получить доступ к файлам cookie, поскольку по определению она не вызывается из запроса веб-браузера. Только в веб-браузере хранится файл cookie, содержащий идентификатор сеанса. Нет веб-браузера, нет файлов cookie, нет сеанса.
Сказав это, если вы каким-то образом знаете идентификатор сеанса, вы можете запустить сеанс вручную, отправив id в session_id()
перед использованием session_start()
.
Другой ответ заключается в том, что файлы сеансового cookie можно использовать с веб-клиентами командной строки. пример:
C=~/tmp/x WGET="wget --keep-session-cookies --load-cookies=$C --save-cookies=$C"
$WGET -O index.html "http://mail.yahoo.com"
HIDDENVARS=`cat index.html | tr '\r\n\t' ' ' | tr -s ' ' | sed "s|> *<|>~<|g" | tr '~' '\n' | \ grep -i "<input .*hidden" | sed "s|.*name=\"\([^\"]*\)\".*value=\"\([^\"]*\)\".*$|\1=\2|g" | tr '\n' '&'`
FORMVARS = "постоянная = Y & входа = USERNAME & PASSWD = секретно"
$ WGET -O login.html –post-data = "$ {HIDDENVARS} & $ {FORMVARS}" "https://login.yahoo.com/config/login?"
Существует проект под названием pseudo cron, который, я полагаю, мог бы получить доступ к сеансу и / или к файлам cookie. Но для меня это не имело смысла.