@f_u_s_s
Любопытный кодер

Почему cURL локалько работает, а на хостинге нет?

Добрый день!
Сразу к сути:
Есть скрипт:
if($_GET['method'] == 'register')
{
	if(isset($_GET['amount']) & isset($_GET['guest_name']) & isset($_GET['phone']) & isset($_GET['room']) & isset($_GET['arrival']))
	{
		if(!empty($_GET['amount']) & !empty($_GET['guest_name']) & !empty($_GET['phone']) & !empty($_GET['room']) & !empty($_GET['arrival']))
		{
			$ch = curl_init();
			curl_setopt($ch, CURLOPT_URL, $main_server.$register.'?userName='.$merchant['login'].'&password='.$merchant['password'].'&amount='.$_GET['amount'].'&orderNumber='.$orderNumber.'&returnUrl='.$returnUrl);
			curl_setopt($ch, CURLOPT_HEADER, false);
			curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
			curl_setopt($ch, CURLOPT_CONNECTTIMEOUT, 30);
			curl_setopt($ch, CURLOPT_USERAGENT, 'PHP Gateway ');
			curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false);
			curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, false);
			$data = curl_exec($ch);
			curl_close($ch);
			$data_arr = json_decode($data, true);

			if(isset($data_arr['errorCode']) & !empty($data_arr['errorCode']))
			{
				die('Произошла ошибка: ' . $data_arr['errorCode'] . ' : ' . $data_arr['errorMessage']);
			}
			else
			{	
				header("Location: " . $data_arr['formUrl']);
				exit();
			}
		}
		else
		{
			die("Один или несколько параметров пусты");
		}

	}
	else
	{
		die("Один или несколько параметров не заданы");
	}
}


При получении всех входящих параметров скрыпт посылает GET запрос на сервер, который в свою очередь в ответ выдает json объект содержащий или ссылку на сгенерированную страницу, или код ошибки с расшифровкой. При возврате ошибки - они выводятся, при успешной генерации ссылки скрипт сразу переадресовывает браузер пользователя по полученной ссылке.
Проблема вся в том, что на локлаьном сервере все отлично работает как надо, но как только я закидываю скрипт на хостинг и обращаюсь к нему - не происходит переадресации. Поковырялся и заметил, что осле выполнения cURL запроса я ничего не получаю, и соответственно никакой ссылки для переадресации или ошибки я тоже не вижу. Проверил включен ли cURL на хостинге - все как надо, попробовал переадресовать на прямую по ссылке - тоже порядок, error_reporting(E_ALL);
тоже ничего не выдает. В чем еще может крыться проблема? Спасибо!
  • Вопрос задан
  • 910 просмотров
Пригласить эксперта
Ответы на вопрос 1
dimonchik2013
@dimonchik2013
non progredi est regredi
если курл точно выводится в phpinfo как установленный - добавь отладку и посмотри

c.setopt(c.VERBOSE, 1)
c.setopt(pycurl.DEBUGFUNCTION, Test)


функция Test пишется, не встроенная, что-то типа записи в файл, в лог, на экран и т.п.
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы