Модераторы: skyboy, MoLeX, Aliance, ksnk
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Доступ к файлам по URL, странная проблема с портами 
:(
    Опции темы
Hint
Дата 17.2.2009, 20:58 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 7
Регистрация: 29.6.2006

Репутация: нет
Всего: нет



Пытаюсь подключить удаленный файл, получаю вот такую ошибку:

Код
Warning: include(http://xxx.ru:58765/xxx.php) [function.include]: failed to open stream: Permission denied in /var/www/xxx.ru/html/xxx.php on line 24

Warning: include() [function.include]: Failed opening 'http://xxx.ru:58765/xxx.php' for inclusion (include_path='.:/usr/share/pear:/usr/share/php') in /var/www/xxx.ru/html/xxx.php on line 24


Пытался использовать и другие функции (file, file_get_contents), результат один: "permission denied".
Самое интересное, что если указать порт 80 (или вообще явно его не указывать), то никаких ошибок нет - все работает нормально.

Порт (58765) доступен, спокойно открываю URL в браузере. Проверил telnet'ом (с веб-сервера через ssh) - соединение устанавливается.
Скрипт завершает работу с ошибой "permission denied" моментально, т.е. безо всякого таймаута.

PHP 5.2.8 подключен как модуль к Apache/2.2.3 (CentOS).

Это сообщение отредактировал(а) Hint - 17.2.2009, 21:01
PM MAIL   Вверх
skyboy
Дата 17.2.2009, 22:39 (ссылка) |  (голосов:1) Загрузка ... Загрузка ... Быстрая цитата Цитата


неОпытный
****


Профиль
Группа: Модератор
Сообщений: 9820
Регистрация: 18.5.2006
Где: Днепропетровск

Репутация: 75
Всего: 260



если коротко: функции типа file_get_contents и fopen - функции для работы с локальными файлами. с удаленными файлами эти функции работают при помощи посредников-оберток(wrappers). Обертка для HTTP мало того, что может не быть включена в конфигурации хостинга, так ещё и не принимает адрес с указанием порта. выход: либо работать через сокеты напрямую, либо работать через cUrl, который работает через сокеты.
PM MAIL   Вверх
Hint
Дата 18.2.2009, 10:55 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 7
Регистрация: 29.6.2006

Репутация: нет
Всего: нет



Сайт работает на выделенном сервере. Установлена CentOS. Httpd, php и другие модули ставились через yum. Возможно, дело в ОС. Не первый раз ставлю с нуля LAMP, но обычно работал с FreeBSD и FedoraCore. С такой проблемой столкнулся впервые. В какую сторону копать?

>не принимает адрес с указанием порта
Если указать 80 порт, то ошибка не возникает. Но проблема в том, что необходимо обращаться по другому порту.
Хочу разобраться в чем дело, а не обойти стороной.

Это сообщение отредактировал(а) Hint - 18.2.2009, 10:58
PM MAIL   Вверх
Hint
Дата 18.2.2009, 11:20 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 7
Регистрация: 29.6.2006

Репутация: нет
Всего: нет



Кстати, проблема какая-то глобальная. Memcache->connect выдает такую же ошибку: "permission denied", хотя по telnet соединение на 11211 устанавливается.
PM MAIL   Вверх
Hint
Дата 25.5.2009, 11:44 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 7
Регистрация: 29.6.2006

Репутация: нет
Всего: нет



До сих пор не смог решить проблему. С smtp аналогино (ошибка при fsockopen):

Warning: fsockopen() [function.fsockopen]: unable to connect to smtp.site.ru:25 (Permission denied) in /var/www/site.ru/html/sock.php on line 2

telnet опять же работает, а если указать порт 80, то и php соединяется.

Это сообщение отредактировал(а) Hint - 25.5.2009, 11:48
PM MAIL   Вверх
Atlete
Дата 25.5.2009, 12:12 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 105
Регистрация: 15.8.2007

Репутация: нет
Всего: нет



Попробуйте копать в сторону фаервола. Другого объяснения сложно придумать.
Ради чистоты эксперемента отключите полностью фаервол и попробуйте 
выполнить необходимые операции. 

P.S. Хотя меня смущает возможность подключения по телнету. Фаервол обычно если блокирует, то и телнетом не подключишься.
PM MAIL ICQ   Вверх
Hint
Дата 25.5.2009, 12:23 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 7
Регистрация: 29.6.2006

Репутация: нет
Всего: нет



Решилось вводом команды:
setsebool -P httpd_can_network_connect=1
PM MAIL   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "PHP"
Aliance
IZ@TOP
skyboy
SamDark
MoLeX

Новичкам:

  • PHP редакторы собираются и обсуждаются здесь
  • Электронные книги по PHP, документацию можно найти здесь
  • Интерпретатор PHP, полную документацию можно скачать на PHP.NET

Важно:

  • Не брезгуйте пользоваться тегами [code=php]КОД[/code] для повышения читабельности текста/кода.
  • Перед созданием новой темы воспользуйтесь поиском и загляните в FAQ
  • Действия модераторов можно обсудить здесь

Внимание:

  • Темы "ищу скрипт", "подскажите скрипт" и т.п. будут переноситься в форум "Web-технологии"
  • Темы с именами: "Срочно", "помогите", "не знаю как делать" будут УДАЛЯТЬСЯ

Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, IZ@TOP, skyboy, SamDark, MoLeX, awers.

 
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | PHP: Общие вопросы | Следующая тема »


 




[ Время генерации скрипта: 0.0775 ]   [ Использовано запросов: 21 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.