У меня есть запрос на мыло, над которым я работаю. Я использую wsdl для отправки запросов, и все хорошо, когда я делаю это с моей локальной машины (среда разработки). Проблема в том, что когда я перемещаю тот же файл на живой сервер (Centos), то получаю Could not connect to host
ошибка.
Обратите внимание, что обе машины находятся в разных сетях, и их расположение одинаково, и на обоих установлено расширение php-soap. Вот мой пример кода. $end_p = "http://example.com/service/services/test";
Вот список расширений php, установленных на работающей машине: [root @ localhost html] #
$client->__setLocation($end_p);
php -m [PHP Модули]
BZ2, календарь, Core, CType, локон, дата, EREG, EXIF, FileInfo, фильтр, FTP, Гетте, х, ГПМ, хэш, Iconv, JSON, LibXML, Mhash, MySQL, MySQLi, OpenSSL, pcntl, PCRE, PDO, PDO_MySQL, Pdo_Sqlite, Фары, Readline, Отражение, сессия, shmop, SimpleXML,мыло,розетки, SPL, sqlite3, стандарт, токенизатор, XML, застежка-молния, Zlib
[Zend Модули]
Судя по информации в вопросе, это может быть проблемой брандмауэра. CentOS имеет брандмауэр по умолчанию под названием Selinux, и это может быть препятствует вашему соединению с другим сервером. Как пользователь root, вы можете проверить применение Selinux, выполнив команду: getenforce
, По умолчанию оно должно быть «принудительным». Чтобы проверить, является ли selinux проблемой, выполните команду setenforce 0
установить его разрешительным. Если проблемы не устранены, попробуйте получить как можно больше информации журнала, которая может предоставить код ошибки или причину, по которой он не может подключиться к хосту.
Других решений пока нет …