Что ограничивает мои ресурсы PHP?

У меня проблема с большей памятью из PHP.

Это сообщение об ошибке:

Fatal error: Allowed memory size of 20971520 bytes exhausted (tried to allocate 82 bytes) in ... 

Все же:

Я установил memory_limit в файле php.ini в 32M:

 memory_limit = 32M; 

Я также попытался переопределить его вручную в реальном скрипте:

 ini_set('memory_limit', '32M'); 

И – вот где я потерялся – я подтвердил через phpinfo (), что этот файл php.ini является фактическим ini-файлом, и memory_limit, похоже, правильно настроен. Линия на memory_limit дает следующее:

 memory_limit 32M 32M 

Таким образом, казалось бы, все настроено правильно, но я получаю только 20971520 байт (~ 20 М).

Где еще я должен искать, где это ограничение налагается?

EDIT: Я запускаю php под nginx / fastcgi, на Ubuntu 9.04 в VPS. Процессы php-cgi кажутся немного ресурсоемкими (RES = 25 м, VIRT = 187 м), но у меня есть 10 м свободной физической памяти и 500 м свободного пространства подкачки.

Мой первый инстинкт – угадать, что PHP читает другой php.ini.

В Debian (и, скорее всего, Ubuntu) каждая версия PHP (cli, cgi и apache) имеет свою собственную копию php.ini.

Я просто посмотрел на код, который я запускал, и кто-то его закодировал в файле конфигурации:

 ini_set('memory_limit', '20M'); 

Это было все, что я делал. Уф.

Вы можете попробовать установить его в файле .htaccess, вот что мне нужно было сделать, чтобы сайт работал на одном сервере.

вот настройки, которые я использовал:

 php_value upload_max_filesize 50M php_value post_max_size 60M php_value memory_limit 128M