Я пытаюсь подключиться к EPP-серверу с помощью PHP, и все это работает на Wampserver (PHP 5.5.12) на моем компьютере. Я написал класс и связался с этим фрагментом кода:
if(!$this->socket = stream_socket_client('tls://'.$this->host.':'.$this->port, $errno, $errstr, 10, STREAM_CLIENT_CONNECT)){
return false;
}
Но когда я пытаюсь использовать тот же класс на своем удаленном веб-сервере (PHP 5.3.10), он выдает ошибку «Превышено время ожидания соединения». IP-адрес занесен в белый список в реестре, так что это не должно быть проблемой.
Я понял, что проблема может быть в настройках SSL, но я ожидал еще одну ошибку, если это так. Я уже попробовал:
$fc = stream_context_create(array('ssl' => array('verify_peer' => false)));
if(!$this->socket = stream_socket_client('tls://'.$this->host.':'.$this->port, $errno, $errstr, 10, STREAM_CLIENT_CONNECT, $fc)){
return false;
}
А также
$fc = stream_context_create(array('ssl' => array('allow_self_signed' => true, 'local_cert' => 'client.pem')));
if(!$this->socket = stream_socket_client('tls://'.$this->host.':'.$this->port, $errno, $errstr, 10, STREAM_CLIENT_CONNECT, $fc)){
return false;
}
Но я продолжаю получать сообщение об ошибке «Время ожидания подключения истекло». Есть мысли по этому поводу?
Задача ещё не решена.
Других решений пока нет …