Warning: Cannot use a scalar value as an array in /home/admin/public_html/forum/include/fm.class.php on line 757

Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/include/fm.class.php on line 770
Форумы портала PHP.SU :: Версия для печати :: Fatal error: Out of memory (allocated 46661632) (tried to allocate 3720 bytes) in ********* on line 90
Форумы портала PHP.SU » » Если скрипт не работает » Fatal error: Out of memory (allocated 46661632) (tried to allocate 3720 bytes) in ********* on line 90

Страниц (1): [1]
 

1. maksimka - 15 Июня, 2011 - 10:54:41 - перейти к сообщению
Fatal error: Out of memory (allocated 46661632) (tried to allocate 3720 bytes) in ********* on line 90

memory_limit уже стоит 1024Mb, что еще может быть?
2. Мелкий - 15 Июня, 2011 - 11:11:13 - перейти к сообщению
maksimka пишет:
memory_limit уже стоит 1024Mb

PHP с вами не согласен. Веб-сервер перезапустить не забыли?

Да и вроде должно быть не 1024Mb, а 1024M
3. maksimka - 15 Июня, 2011 - 11:21:02 - перейти к сообщению
Информация из phpinfo() : memory_limit 1024M
4. Мелкий - 15 Июня, 2011 - 11:26:50 - перейти к сообщению
А физически памяти хватает?
5. maksimka - 15 Июня, 2011 - 11:28:52 - перейти к сообщению
Как это можно проверить?
6. White - 15 Июня, 2011 - 14:58:35 - перейти к сообщению
на локале в диспетчере задач
на хостинге спросить у провайдера
7. EuGen - 15 Июня, 2011 - 16:08:36 - перейти к сообщению
Сделайте отладку в скрипте. http://php.su/functions/?memory_get_usage Вам может помочь - узнаете, что же именно забирает столько памяти.
8. maksimka - 16 Июня, 2011 - 09:12:14 - перейти к сообщению
memory_get_usage пробывал
есть файл при подключении которого сразу съедается 10 Мб, потом он начинает выполнятся и съедается примерно еще столько же.
9. EuGen - 16 Июня, 2011 - 09:21:23 - перейти к сообщению
Вот и найдите место, где есть превышение, и, отталкиваясь от него, найдёте причину.
10. maksimka - 16 Июня, 2011 - 09:26:50 - перейти к сообщению
Перед подключением файла: 2203712
В самом начале файла, перед выполнением каких либо действий: 3163784
В чем может быть причина?
11. EuGen - 16 Июня, 2011 - 09:28:28 - перейти к сообщению
Если "подключение" имеется ввиду включение другого php-скрипта, то дело, очевидно, в том, что скрипт размещает в памяти, к примеру, переменные.
12. maksimka - 16 Июня, 2011 - 09:32:33 - перейти к сообщению
index:
PHP:
скопировать код в буфер обмена
  1.  
  2. echo 'index before note.class: '.memory_get_usage() . '<br />';
  3. require_once ('./inc/note.class.php');
  4. echo 'index after note.class: '.memory_get_usage() . '<br />';
  5.  

note.class (начало файла):
PHP:
скопировать код в буфер обмена
  1.  
  2. <?PHP
  3. echo 'note.class: '.memory_get_usage() . '<br />';
  4.  

получаем такой вот ответ:

index before note.class: 2203752
note.class: 3163792
index after note.class: 3720088
(Добавление)
Спросил у хостера сколько выделяется физической памяти, пришел такой ответ:
Цитата:

В корневой директории Вашего сайта находится файл php.ini в котором прописано следующее:
memory_limit = 1024M
Т.е. для вашего сайта выделяется 1 Гб ОЗУ.

 

Powered by ExBB FM 1.0 RC1