Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Скриптовые языки программирования > PHP
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 08.06.2012, 19:01   #1
Mortimoro
Форумчанин
 
Регистрация: 03.12.2010
Сообщений: 334
По умолчанию прожорливый скрипт

в user.log сервера складывается ошибка:
Цитата:
Jun 8 06:48:04 user suhosin[12617]: ALERT - script tried to increase memory_limit to 104857600 bytes which is above the allowed value (attacker '194.158.XX.XX', file '/home/user/data/www/kernel/main.php', line 16)
в 16й строке файла main.php стоит команда
PHP код:
ini_set('memory_limit''100M'); 
даже если устанавливаю лимит в 512М, ошибка все равно происходит, а выделять скрипту еще больше памяти не считаю рациональным, так как он выводит в итоге своей работы всего 10 позиций и почему выжирает для этого столько памяти, непонятно.

как лучше поступить в данной ситуации - копать все подключаемые классы на предмет массивных запросов или есть другие варианты решения?
я правильно понимаю, что такие объемы памяти выходят потому, что в переменные данного скрипта заносятся неоправданно большие массивы данных?
Mortimoro вне форума Ответить с цитированием
Старый 08.06.2012, 19:16   #2
Andkorol
Старожил
 
Регистрация: 31.05.2010
Сообщений: 3,301
По умолчанию

Если я правильно понимаю текст ошибки - то там как раз и говорится о том, что ваш скрипт пытается увеличить memory_limit до 100Мб, что выше допустимого значения (которое явно определяется где-то еще, помимо php.ini).
Так что ставить 512 смысла нет - раз даже до 100 разогнать не дают.

Что касается определения количества памяти, потребляемой вашим скриптом - попробуйте memory_get_usage, в комментах есть примеры удобного использования.
Ну и Xdebug может с этим помочь.

Последний раз редактировалось Andkorol; 08.06.2012 в 19:32.
Andkorol вне форума Ответить с цитированием
Старый 09.06.2012, 14:59   #3
Mortimoro
Форумчанин
 
Регистрация: 03.12.2010
Сообщений: 334
По умолчанию

Andkorol, спасибо ))

я неправильно понял ошибку, думал, что скрипт больше памяти хочет заполучить...
memory_get_usage() показал, что скрипт максимум до 700Кб использует, потому закомментил ini_set() и сразу ошибки сыпаться перестали.
Mortimoro вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
sh-скрипт therightrussia2 PHP 9 25.05.2012 02:30
Скрипт DRAKKAR Помощь студентам 0 11.12.2011 08:41
мой сайт взломали и в коды скриптов добавили вот этот скрипт. Что за скрипт? nsbox JavaScript, Ajax 9 21.01.2010 18:19
Скрипт pop Under (скрипт попандера) Jensi JavaScript, Ajax 2 13.07.2009 00:17
C#(скрипт) Paranoic Общие вопросы .NET 4 25.04.2008 16:13