На моем локальном сервере это нормально, но когда я помещаю тот же файл онлайн, он не работает.
Когда я устанавливаю CURLOPT_RETURNTRANSFER в false, он работает.
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1); curl_setopt($ch, CURLOPT_RETURNTRANSFER, true); curl_setopt($ch, CURLOPT_RETURNTRANSFER, TRUE);
Если вы установили CURLOPT_RETURNTRANSFER в true или 1 то возвращаемое значение curl_exec будет фактическим результатом успешной операции. Другими словами, он не вернет TRUE на успех. Хотя он будет возвращать FALSE при сбое.
Как описано в разделе «Возвращаемые значения» на странице руководства PHP curl-exec : http://php.net/manual/function.curl-exec.php
Вы должны включить параметр CURLOPT_FOLLOWLOCATION для перенаправления, но это будет проблемой, если ваш сервер находится в safe_mode и / или open_basedir , что может вызвать проблемы с завитком.
Просто попробуйте эту строку:
curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false);
после:
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);