Fatal error: Out of memory (allocated

Shredder2003

Новичок
Fatal error: Out of memory (allocated

Привет, друзья!

про memory_limit я наслышан :)

итак, на хостинге делаю следующее:

PHP:
print ini_set('memory_limit','1024M').'<br>';
print ini_set('memory_limit','1024M').'<br>';

...
$datafile = file($txt_path.'G_FEATURE.txt');
получаю
64M
1024M
Fatal error: Out of memory (allocated 262144) (tried to allocate 115208182 bytes) in /путь к файлу/import/g_feature.php on line 19
т.е. вроде как потолок поднял, но однако не даёт увеличить.
Размер файла G_FEATURE.txt = 115 199 990 байт.

в чём может быть дело, может, я ещё какую настройку пропустил?
 

cDLEON

Онанист РНРСlub
А читать построчно слабо ?
Зачем весь файл загонять в оперативную память ?
 

Shredder2003

Новичок
сервер не дедикейтед.

cat /proc/meminfo

MemTotal: 16424184 kB
MemFree: 418368 kB
Buffers: 621296 kB
Cached: 10730812 kB
SwapCached: 665420 kB
Active: 6573852 kB
Inactive: 7530412 kB
SwapTotal: 29302440 kB
SwapFree: 23400808 kB
Dirty: 6720 kB
Writeback: 0 kB
AnonPages: 2100008 kB
Mapped: 1282080 kB
Slab: 1698720 kB
SReclaimable: 1360120 kB
SUnreclaim: 338600 kB
PageTables: 91148 kB
NFS_Unstable: 0 kB
Bounce: 0 kB
CommitLimit: 37514532 kB
Committed_AS: 27759348 kB
VmallocTotal: 34359738367 kB
VmallocUsed: 280276 kB
VmallocChunk: 34359457791 kB
HugePages_Total: 0
HugePages_Free: 0
HugePages_Rsvd: 0
HugePages_Surp: 0
Hugepagesize: 2048 kB

-~{}~ 06.06.08 15:10:

видимо, они лимитируют кол-во потребляемой памяти для каждого аккаунта, верно?

-~{}~ 06.06.08 15:14:

Автор оригинала: cDLEON
А читать построчно слабо ?
Зачем весь файл загонять в оперативную память ?
слабо, по следующей причине: привык ко всему готовенькому, к примеру readln() из паскаля, которая считала из файла построчно. Здесь же, нужно считывать файл блоками по N байт, из блоков выдирать строки, сцеплять строки, лежащие в конце текущего и начале следующего блока... или откройте мне глаза, пожалуйста?
 

Shredder2003

Новичок
Возвращает строку размером в length - 1 байт, прочитанную из дескриптора файла, на который указывает параметр handle.
Чтение заканчивается, когда количество прочитанных байтов достигает length - 1, по достижении конца строки (который включается в возвращаемое значение) или по достижении конца файла (что бы ни встретилось первым).
Если длина не указана, по умолчанию ее значение равно 1 килобайту или 1024 байтам.
я так понимаю, что всегда будет считываться по 1 килобайту, к примеру.
или я неправильно понимаю документацию?

-~{}~ 06.06.08 15:22:

о, туплю, всё верно.
 
Сверху