истечение времени ожидания stream_socket_client - PullRequest
3 голосов
/ 20 августа 2011

Я пытаюсь отладить функцию PHP stream_socket_client , но я не знаю как. Вот код, с которым у меня проблемы:

        $this->socket = @stream_socket_client(
            $remote, $errno, $errstr,
            $this->request->getConfig('connect_timeout'),
            STREAM_CLIENT_CONNECT, $context
        );
        if (!$this->socket) {
            throw new HTTP_Request2_ConnectionException(
                "Unable to connect to {$remote}. Error: {$errstr}",
                0, $errno
            );
        }

Возникает исключение, и появляется сообщение об ошибке «Невозможно подключиться к tcp: //www.dropbox.com: 80. Ошибка: истекло время ожидания соединения». Этот код взят из очень популярного Wordpress плагина , который был хорошо протестирован. Сервер, на котором я работаю, имеет некоторые причуды, например Мне разрешено загружать или удалять файлы через PHP и т. Д., Поэтому мне интересно, есть ли какие-либо настройки PHP, которые могут помешать работе stream_socket_client, и как я могу проверить, какие эти настройки используются для моего сервера.

1 Ответ

4 голосов
/ 20 августа 2011

Попробуйте проверить allow_url_fopen.

Этот параметр включает блокировщики fopen с поддержкой URL, которые позволяют получать доступ к объекту URL, например к файлам.

См .: https://php.net/manual/en/filesystem.configuration.php

...