Здесь я нахожусь здесь. Я создал сервер 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
Могут ли эти две вещи быть связаны с та же проблема?
http://stackoverflow.com/questions/ 16748206/php-can-access-external-urls Попробуйте установить allow_url_fopen – tjfo
Он по умолчанию включен. Я забыл упомянуть, что я уже пошел проверять, было ли это разрешено до публикации этого вопроса. ^^ – Naldorenses