Страница 1 из 1

Fopen ... a socket in a way forbidden by its access permissions. Ошибка (

Добавлено: 28 дек 2013, 16:35
Ryv
Приветствую. Не думаю что это прямо-таки ошибка Open Server, скорее всего его конфликт с какими-либо настройками ОС, но, тем не менее, как это исправить мне не ясно (гуглить пробовал - тщетно).

Проблема собственно такая, что функция fopen и все ее производные, при обращении к удаленным ресурсам возвращают ошибку "Warning: fopen(http://open-server.ru) [function.fopen]: failed to open stream: An attempt was made to access a socket in a way forbidden by its access permissions. in D:\OpenServer\domains\test.local\test.php on line 2"
Локальные файлы открываются нормально, а вот к примеру такая конструкция fopen("http://open-server.ru", "r"); уже не срабатывает. (

Ковырял php.ini - вроде нормально все. Куда еще можно посмотреть?
У меня ОС Windows 7 x64 Pro и OpenServer 4.9.0 с установками вроде бы по умолчанию, ничего там не трогал.

Следуя гуглорекоммендациям уже и днс кэш сбрасывать пробовал, и межсетевой экран отключать - нет толку...

Добавлено: 28 дек 2013, 17:00
Максим
Может вы случайно allow_url_fopen=on в шаблоне php.ini выключили.

Может у вас версия Open Server не последняя и вы запускаете скрипт из консоли и не указываете путь до php.ini.

Может ваш фаервол/антивирус виноват, который блокирует сетевые функции для php.

Может у вас закончились свободные порты на машине. PHP ведь чтобы сделать запрос на удаленный порт нужно использовать какой-то локальный. Это бывает при очень активных торрентах, при активности вируса который создаёт тысячи соединений и т.д. Примените TCP патч, который есть Open Server (Меню - Дополнительно - Первый запуск). Посмотрите сетевым монитором какие порты у вас и чем заняты. Меню Open Server - Программы - Система - Монитор портов.

Добавлено: 28 дек 2013, 18:34
Ryv
Добрый вечер, Максим.

Вы оказались абсолютно правы. Дальнейшее спаривание с межсетевым экраном обнаружило правило блокирующее доступ для OpenServer. Я создал правило позволяющее OS выходить в Инторнед и вроде все стало работать (не пойму правда почему не помогало простое отключение межсетевого экрана, но это уже на совести его разрабов). Возник вопрос...а что хочет httpd OpenServer соединяясь c s-server.ru? Считает количество установок или что-то еще? Вероятно именно это и послужило когда-то причиной для создания запрета.

Добавлено: 28 дек 2013, 18:40
Максим
1) Программа Open Server.exe не имеет никакого отношения к PHP и уж тем более к сетевым функциям PHP.
2) То, что php у вас заработал, в частности функция fopen по поводу который вы и создали топик, это результат того что вы отключили свой межсетевой экран.
3) Open Server ходит на сайт для проверки обновлений, эта функция включается и отключается в настройках программы.