camka
не самка
memory_limit не работает на некоторых конфигурациях
Нижеследующий скрипт не выделяет достаточного количество памяти под данные. В php.ini прописан лимит в 100М. Для уверенности ставлю значение и в коде скрипта. Проблема в том, что пхп (или кто-то еще) не позволяет скрипту выделить больше чем 8-16МБ памяти. Подобное поведение наблюдается на нескольких одинакого сконфигурированных машинах. Последний снэпшот проблему не вылечил. На других машинах работает, как полагается: выделяет память, пока не упрется в лимит.
Писал в багрепорт, но случайно наврал, что проблема наблюдается только на одной машине, чем вызвал изменение статуса багрепорта на Bogus. Теперь вот никак не могу дождаться от них ответа. А решение желательно срочно. Вот в надежде, что знающие люди с этого форума смогут подсобить советом, и запостил тему.
Конфигурация ПХП:
'./configure' '--bindir=/usr/bin' '--mandir=/usr/share/man'
'--with-apache=../apache_1.3.33' '--with-config-file-path=/etc/apache'
'--with-gnu-ld' '--without-pear' '--enable-track-vars'
'--enable-memory-limit' '--enable-short-tags'
'--enable-inline-optimization' '--disable-display-source'
'--disable-url-fopen-wrapper' '--disable-cli' '--disable-posix'
'--with-pcre-regex' '--disable-ctype' '--disable-overload'
'--disable-tokenizer' '--disable-ipv6' '--disable-simplexml'
'--without-sqlite' '--with-mysql=/usr' '--disable-session'
'--enable-sockets' '--without-zlib' '--with-iconv'
'--enable-mbstring=all' '--enable-mbregex'
Софт:
- fedora-release-2-4
- gcc-3.3.3-7
- binutils-2.15.90.0.3-5
Нижеследующий скрипт не выделяет достаточного количество памяти под данные. В php.ini прописан лимит в 100М. Для уверенности ставлю значение и в коде скрипта. Проблема в том, что пхп (или кто-то еще) не позволяет скрипту выделить больше чем 8-16МБ памяти. Подобное поведение наблюдается на нескольких одинакого сконфигурированных машинах. Последний снэпшот проблему не вылечил. На других машинах работает, как полагается: выделяет память, пока не упрется в лимит.
Писал в багрепорт, но случайно наврал, что проблема наблюдается только на одной машине, чем вызвал изменение статуса багрепорта на Bogus. Теперь вот никак не могу дождаться от них ответа. А решение желательно срочно. Вот в надежде, что знающие люди с этого форума смогут подсобить советом, и запостил тему.
PHP:
<?php
echo ini_get('memory_limit'),"\n";
ini_set('memory_limit', 100000000);
echo ini_get('memory_limit'),"\n";
ini_set('display_errors', 1);
ini_set('error_reporting', E_ALL);
function a()
{
echo 'fck oyu!';
}
register_shutdown_function('a');
$zz = 'u';
for($i=1; $i<1000; $i++)
{
$zz .= $zz;
echo $i,' - ', memory_get_usage(),"<br>\n";flush();
}
?>
Код:
100M
100000000
1 - 12912<br>
2 - 12912<br>
3 - 12920<br>
4 - 12944<br>
5 - 12960<br>
6 - 13032<br>
7 - 13096<br>
8 - 13224<br>
9 - 13480<br>
10 - 13992<br>
11 - 15016<br>
12 - 17064<br>
13 - 21160<br>
14 - 29352<br>
15 - 45736<br>
16 - 78504<br>
17 - 144040<br>
18 - 275112<br>
19 - 537256<br>
20 - 1061544<br>
21 - 2110120<br>
22 - 4207272<br>
23 - 8401576<br>
error_log:
FATAL: erealloc(): Unable to allocate 16777217 bytes
'./configure' '--bindir=/usr/bin' '--mandir=/usr/share/man'
'--with-apache=../apache_1.3.33' '--with-config-file-path=/etc/apache'
'--with-gnu-ld' '--without-pear' '--enable-track-vars'
'--enable-memory-limit' '--enable-short-tags'
'--enable-inline-optimization' '--disable-display-source'
'--disable-url-fopen-wrapper' '--disable-cli' '--disable-posix'
'--with-pcre-regex' '--disable-ctype' '--disable-overload'
'--disable-tokenizer' '--disable-ipv6' '--disable-simplexml'
'--without-sqlite' '--with-mysql=/usr' '--disable-session'
'--enable-sockets' '--without-zlib' '--with-iconv'
'--enable-mbstring=all' '--enable-mbregex'
Софт:
- fedora-release-2-4
- gcc-3.3.3-7
- binutils-2.15.90.0.3-5