![]() |
|
Модераторы: skyboy, MoLeX, Aliance, ksnk |
![]()
|
|
| AGENTxXx |
|
|||
|
Бывалый ![]() Профиль Группа: Участник Сообщений: 231 Регистрация: 8.6.2009 Репутация: нет Всего: 1 |
Добрый день уважаемые форумчане!
Может есть люди, которые смогут тут увидеть, почему память не очищается. Не может загрузить изображение размером 18 мегабайт. Пока что поставил условие ini_set("memory_limit", -1); но хотелось бы понять всё равно причину. Задача класса - все изображения со статусом 2 залить на локальный сервер и поменять статус на 1
Ах да, вот ошибка: "PHP Fatal error: Allowed memory size of 134217728 bytes exhausted (tried to allocate 18208578 bytes) in /home/admin/web/prokoder.ru/public_html/models/UploadModel.php on line 55" Есть идеи, как освободить память? |
|||
|
||||
| baldina |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 3433 Регистрация: 5.12.2007 Где: Москва Репутация: 26 Всего: 101 |
вижу вызов
без imagedestroy() судя по тексту $img толком не используется, и imagecreate() вообще не нужна (если нужно, imagesy() можно заменить на getimagesize(), который кстати используется в resize()) в resize() опять же нужен imagedestroy() если resize() не нужен, можно вообще не читать файл в память, а использовать copy или stream_copy_to_stream() Это сообщение отредактировал(а) baldina - 21.5.2015, 17:30 |
|||
|
||||
| baldina |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 3433 Регистрация: 5.12.2007 Где: Москва Репутация: 26 Всего: 101 |
|
|||
|
||||
| AGENTxXx |
|
|||
|
Бывалый ![]() Профиль Группа: Участник Сообщений: 231 Регистрация: 8.6.2009 Репутация: нет Всего: 1 |
Т.е. я правильно понимаю что unset() автоматом не выполнит освобождение и нужно в начале вызывать imagedestroy() а потом только unset()?
На счёт copy - спасибо! Вроде как должен подойти. Я просто думал, что copy только на локальном сервере работать может... |
|||
|
||||
| baldina |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 3433 Регистрация: 5.12.2007 Где: Москва Репутация: 26 Всего: 101 |
unset удалит переменную, но не память с ней связанную: $img это ресурс, и должен освобождаться явно
|
|||
|
||||
| AGENTxXx |
|
|||
|
Бывалый ![]() Профиль Группа: Участник Сообщений: 231 Регистрация: 8.6.2009 Репутация: нет Всего: 1 |
Мда... я думал, что unset умный))) Окей) Спасибо!
|
|||
|
||||
![]()
|
| Правила форума "PHP" | |
|
|
Новичкам:
Важно:
Внимание:
Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, IZ@TOP, skyboy, SamDark, MoLeX, awers. |
| 0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
| 0 Пользователей: | |
| « Предыдущая тема | PHP: Общие вопросы | Следующая тема » |
|
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |