2014-01-05 7 views
0

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

Я пытался сделать это таким образом:

  1. $ завитка = curl_init();
  2. некоторые curl_setopts();
  3. $ _SESSION ["curl"] = $ curl;

, так что я мог бы использовать его, если необходимо, на других модулях моего сайта (для разных целей, но каждый из них требует, чтобы я вошел в систему). Это не работает. curl_exec не будет работать с $ _SESSION ["curl"] ("предоставленный аргумент не является допустимым ресурсом дескриптора cURL").

Как с этим справиться?

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

Любая помощь будет оценена по достоинству.

+0

ли вы попытались установить завиток опцию '' CURLOPT_COOKIEFILE' и CURLOPT_COOKIEJAR' в какой-то файл на сервере? Установка этих параметров скажет curl читать и хранить файлы cookie, чтобы сеанс не терялся между запросами. – piotrekkr

+0

Yup, я использую эти опции cURL. Поэтому мне просто нужно удвоить их в других файлах, и cURL будет читать их автоматически? – Sates

+0

Они предназначены для хранения файлов cookie. Поэтому, если вы входите в систему, вы должны будете получить cookie своего сеанса с сервера. Curl автоматически сохранит и прочитает его из файла, указанного этими параметрами. Поэтому в следующий раз (например, через 5 минут) вы снова отправляете запрос на сервер, и вы должны войти в систему, потому что у вас уже есть файл cookie с действительным идентификатором сеанса. – piotrekkr

ответ

0

Невозможно сохранить переменную $curl до $_SESSION, так как curl_init Тип возврата resource. Из документов Session - Introduction.

Because session data is serialized, resource variables cannot be stored in the session. 
+0

Я понял. Знаете, это не помогает. – Sates

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