![]() |
Модераторы: skyboy, MoLeX, Aliance, ksnk |
![]() ![]() ![]() |
|
Hint |
|
|||
Новичок Профиль Группа: Участник Сообщений: 7 Регистрация: 29.6.2006 Репутация: нет Всего: нет |
Пытаюсь подключить удаленный файл, получаю вот такую ошибку:
Пытался использовать и другие функции (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 |
|||
|
||||
skyboy |
|
|||
неОпытный ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 9820 Регистрация: 18.5.2006 Где: Днепропетровск Репутация: 75 Всего: 260 |
если коротко: функции типа file_get_contents и fopen - функции для работы с локальными файлами. с удаленными файлами эти функции работают при помощи посредников-оберток(wrappers). Обертка для HTTP мало того, что может не быть включена в конфигурации хостинга, так ещё и не принимает адрес с указанием порта. выход: либо работать через сокеты напрямую, либо работать через cUrl, который работает через сокеты.
|
|||
|
||||
Hint |
|
|||
Новичок Профиль Группа: Участник Сообщений: 7 Регистрация: 29.6.2006 Репутация: нет Всего: нет |
Сайт работает на выделенном сервере. Установлена CentOS. Httpd, php и другие модули ставились через yum. Возможно, дело в ОС. Не первый раз ставлю с нуля LAMP, но обычно работал с FreeBSD и FedoraCore. С такой проблемой столкнулся впервые. В какую сторону копать?
>не принимает адрес с указанием порта Если указать 80 порт, то ошибка не возникает. Но проблема в том, что необходимо обращаться по другому порту. Хочу разобраться в чем дело, а не обойти стороной. Это сообщение отредактировал(а) Hint - 18.2.2009, 10:58 |
|||
|
||||
Hint |
|
|||
Новичок Профиль Группа: Участник Сообщений: 7 Регистрация: 29.6.2006 Репутация: нет Всего: нет |
Кстати, проблема какая-то глобальная. Memcache->connect выдает такую же ошибку: "permission denied", хотя по telnet соединение на 11211 устанавливается.
|
|||
|
||||
Hint |
|
|||
Новичок Профиль Группа: Участник Сообщений: 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 |
|||
|
||||
Atlete |
|
|||
Шустрый ![]() Профиль Группа: Участник Сообщений: 105 Регистрация: 15.8.2007 Репутация: нет Всего: нет |
Попробуйте копать в сторону фаервола. Другого объяснения сложно придумать.
Ради чистоты эксперемента отключите полностью фаервол и попробуйте выполнить необходимые операции. P.S. Хотя меня смущает возможность подключения по телнету. Фаервол обычно если блокирует, то и телнетом не подключишься. |
|||
|
||||
Hint |
|
|||
Новичок Профиль Группа: Участник Сообщений: 7 Регистрация: 29.6.2006 Репутация: нет Всего: нет |
Решилось вводом команды:
setsebool -P httpd_can_network_connect=1 |
|||
|
||||
![]() ![]() ![]() |
Правила форума "PHP" | |
|
Новичкам:
Важно:
Внимание:
Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, IZ@TOP, skyboy, SamDark, MoLeX, awers. |
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей) | |
0 Пользователей: | |
« Предыдущая тема | PHP: Общие вопросы | Следующая тема » |
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |