php curl получает отказ, когда работает версия командной строки

Я новичок здесь, чтобы писать, но читал много ответов за последние несколько лет, поэтому прежде всего: спасибо за помощь, которую вы мне дали до сих пор! Таким образом, это то, что делает меня сумасшедшим сегодня, и не мог найти ответ нигде:

У меня есть веб-сервис (плагин Openfire) и backoffice на базе LAMP (в отдельном окне), который удаленно управляет Openfire. После переноса Openfire в новый (3-й) ящик, код backoffice перестает работать. Вот фрагмент:

<?php header("Content-Type: text/plain"); $url = "http://gbbackup.dyndns.org:9090/plugins/goldsteinAdmin/goldsteinadmin"; echo $url."\n"; $ch = curl_init($url); echo "handle: ".$ch."\n"; curl_setopt($ch, CURLOPT_VERBOSE, true); curl_setopt($ch, CURLOPT_STDERR, fopen('php://stdout', 'w')); $result = curl_exec($ch); echo "Result: ".$result."\n"; if ($result === false) echo 'cURL error '.curl_errno($ch).': '.curl_error($ch)."\n"; print_r(curl_getinfo($ch)); curl_close($ch); ?> 

Подробный вывод Curl:

 * About to connect() to gbbackup.dyndns.org port 9090 (#0) * Trying 81.183.210.206... * Connection refused * couldn't connect to host * Closing connection #0 

Теперь странная вещь, если я пробую через командную строку, она отлично работает:

 user@login01:~/public_html/gb$ curl -v "http://gbbackup.dyndns.org:9090/plugins/goldsteinAdmin/goldsteinadmin" * About to connect() to gbbackup.dyndns.org port 9090 (#0) * Trying 81.183.210.206... connected * Connected to gbbackup.dyndns.org (81.183.210.206) port 9090 (#0) > GET /plugins/goldsteinAdmin/goldsteinadmin HTTP/1.1 > User-Agent: curl/7.21.0 (x86_64-pc-linux-gnu) libcurl/7.21.0 OpenSSL/0.9.8o zlib/1.2.3.4 libidn/1.15 libssh2/1.2.6 > Host: gbbackup.dyndns.org:9090 > Accept: */* > < HTTP/1.1 200 OK < Expires: Thu, 01 Jan 1970 00:00:00 GMT < Set-Cookie: JSESSIONID=12e1urcewodgr;Path=/ < Content-Type: application/json;charset=ISO-8859-1 < Transfer-Encoding: chunked < {"type":"error","msg":"RequestNotAuthorised"} * Connection #0 to host gbbackup.dyndns.org left intact * Closing connection #0 

В чем может быть разница между PHP и командной строкой? Я удалил все причудливые дополнения только для проверки самого соединения, но некоторая разница должна быть оставлена.

Я сделал еще несколько тестов, вот результаты:

  • PHP завиток на других сайтах (например, google.com): работает
  • вставил ссылку на Chrome на моей собственной машине: работает
  • проверенная кривая командной строки через php system (): не работает
  • Я также хотел, чтобы tcpdump различия, но в другом поле, где у меня есть права root, работают PHP и версия командной строки

Кажется, только эти две коробки не любят друг друга 🙂

Заранее спасибо за вашу помощь!