У меня есть запрос на мыло, над которым я работаю. Я использую wsdl для отправки запросов, и все хорошо, когда я делаю это с моей локальной машины (среда разработки). Проблема в том, что я перемещаю тот же файл на живой сервер (Centos), после чего получаю ошибку Could not connect to host
. NB обе машины находятся в разных сетях, а местоположение одинаковое, и оба имеют расширение php-soap. Вот мой пример кода. $end_p = "http://example.com/service/services/test"; $client->__setLocation($end_p);
Вот список расширений PHP установлен на живой машине: [корень @ локальный HTML] # 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 Modules]Soap Невозможно подключиться с одного сервера, но тот же файл подключается от другого
1
A
ответ
2
Основываясь на информации в вопросе, это звучит, как это может быть вопросом брандмауэра. CentOS имеет брандмауэр по умолчанию Selinux, и этот может предотвратить соединение с другим сервером. В качестве пользователя root вы можете проверить выполнение Selinux, выполнив команду: getenforce
. По умолчанию он должен быть «принудительным». Чтобы проверить, является ли проблема selinux, выполните команду setenforce 0
, чтобы установить ее разрешающую. Если все еще есть проблемы, попробуйте получить как можно больше информации о журнале, которая может предоставить код ошибки или причину, по которой он не может подключиться к хосту.
Это было так глупо от меня, как я мог не думать о селинках ??????. Я боролся с этим уже два дня. Спасибо alot @Donald –
Без проблем, рад, что я мог бы помочь;). Я попал в тот же блок раньше, чтобы я знал это чувство. – Shaggydev