CURL возвращает false

Q_BASIC

Хранитель порядка
Регистрация
30 Ноя 2013
Сообщения
516
Реакции
1.240
Приветствую,

Есть у нас такой код:
Скрытое содержимое доступно для зарегистрированных пользователей!

В логах получаем это:
Скрытое содержимое доступно для зарегистрированных пользователей!


В итоге, в ответе курла у нас bool(false) после отправки файла. В чем может быть проблема?

Файл существует на сервере.
 
Таки по этим логам мы ничего не узнаем об реальной ошибке.
Сделай что-то типа такого только заменив своими функциями die_log(), print_dump() и по этим логам можно будет помочь:
PHP:
if ($out === false)
{
  Yii::warning('Ошибка curl: ' . curl_errno($curl) . ' - ' . curl_error($curl), __METHOD__);
  Yii::info('Stat curl: ' . VarDumper::dumpAsString(curl_getinfo($curl)), __METHOD__);
}
 
Возможно поможет эта строка в вашем коде
curl_setopt($curl, CURLOPT_SSL_VERIFYPEER,FALSE);

В противном случае рекомендую выполнить
curl_setopt($curl, CURLINFO_HEADER_OUT, true);
$out = curl_exec($curl);
if(!$out) echo curl_getinfo($curl,CURLINFO_HEADER_OUT);
 
Это не yii, сделал curl_info вчера, сегодня посмотрю. + эта ошибка не всегда появляется, думаю, потому что сервера разные приходят
 
Если еще не решил, то проблема в CURLOPT_SAFE_UPLOAD. Её добавили в php 5.5 со значением false, потом в 5.6 изменили с false. на true по дефолту, отсюда такая проблема на версиях выше 5.6+ при загрузке через curl. Что бы решить быстро, добавь перед
PHP:
curl_setopt( $curl, CURLOPT_POSTFIELDS, $post_fields );
строку
PHP:
curl_setopt($curl, CURLOPT_SAFE_UPLOAD, false)
.
 
Назад
Сверху