2017-02-22 65 views
0

Здесь я нахожусь здесь. Я создал сервер LAMP для проекта, над которым я работал недавно (это для школы). Я пытаюсь получить публичный IP-адрес с моего сервера с помощью PHP с помощью curl. Я использовал следующий код для его получения:Ubuntu Server - PHP curl ищет адрес на сервере, даже если указан другой веб-сайт

$ch = curl_init(); 

curl_setopt($ch, CURLOPT_HEADER, 0); 
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1); 
curl_setopt($ch, CURLOPT_URL, "http://ipecho.net/plain"); 

$host = curl_exec($ch); 
curl_close($ch); 

Он отлично работает на локальном хосте на моем домашнем ПК. К сожалению, сервер Ubuntu не соответствует требованиям. Когда я повторяю результат, я получаю отформатированное сообщение:

NOT FOUND: The request URL "/plain/" was not found on this server. 

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

Sidenote:

Я также попытался с помощью file_get_contents() (который также работал на моем домашнем компьютере), но на сервере, он только что вернулся следующее сообщение:

Warning: file-get-contents("http://ipecho.net/plain") failed to open stream: HTTP request failed! HTTP/1.1 202 

Могут ли эти две вещи быть связаны с та же проблема?

+0

http://stackoverflow.com/questions/ 16748206/php-can-access-external-urls Попробуйте установить allow_url_fopen – tjfo

+0

Он по умолчанию включен. Я забыл упомянуть, что я уже пошел проверять, было ли это разрешено до публикации этого вопроса. ^^ – Naldorenses

ответ

0

Похоже, что сеть не может быть. Я хотел бы проверить, если

Wget -O- http://ipecho.net/plain

работы из UBUNTU оболочки.

Если это не работает проверка resolv.conf, чтобы убедиться, что у вас есть DNS, работающее и проверить сетевые сценарии, чтобы убедиться, что у вас есть шлюз IP настроен неправильно

+0

Здравствуйте, спасибо за ваш ответ! К сожалению, это было нечто совершенно другое, что я наткнулся на несчастный случай. Оказывается, внешняя служба, которую я использовал, по умолчанию не совместима с ubuntu (что объясняет, почему она работает на Windows, а не на ubuntu). По крайней мере, это было сказано, когда я пытался использовать cURL в терминале с адресом. Я перешел на другую услугу «checkip.amazonaws.com». Еще спасибо! : D – Naldorenses