PHP fopen () не удалось в комбинации session_start () и mysql_connect () - PullRequest
0 голосов
/ 05 ноября 2011

У нас проблема на сервере Debian и PHP версии 4.4.4-8 + etch6.В этом сценарии (это полный сценарий, а не просто часть кода):

mysql_connect('localhost', 'user', 'pass'); 
session_start(); 

$h = fopen('http://www.google.com/robots.txt', 'r'); 
var_dump(fread($h, 40)); 

Если я закомментирую mysql_connect, это работает.Если я закомментирую session_start, это работает.Если mysql_connect не удалось (неверный пользователь и пароль), fopen тоже работает.Но с обоими fopen не удалось.Так что это не связано с поиском DNS.

Есть результат

Warning: fopen(http://www.google.com/robots.txt) [function.fopen]: failed to open stream: HTTP request failed! in /var/www/web4/rychtarka.cz/rychtarka.cz/test.php on line 9

Warning: fread(): supplied argument is not a valid stream resource in /var/www/web4/rychtarka.cz/rychtarka.cz/test.php on line 10
bool(false)

Я думаю, что есть некоторые ограничения ресурсов в системе, файловых дескрипторах или чем-то ещеАдминистратор нашего сервера сказал нам, что это ошибка скрипта.Не могли бы вы указать мне, чтобы изменения системы Debian были восстановлены.

Спасибо за любой совет.

1 Ответ

0 голосов
/ 07 ноября 2011

Наконец (через 3 дня) мы исправили ошибку.Мы проследили это, используя 'php -f test.php', который указывал на ограничение Apache для максимально открытых файлов.

Мы подняли число через ulimit с 1024 до 8k, и после перезапуска все заработало.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...