Articles of памяти

Утечка памяти PHP Imagick

Я должен сделать что-то с Imagick на PHP CLI. Я заметил, что каждые 3-5 дней память сервера заполняется, поэтому я даже не могу подключиться через ssh или ftp. с memory_get_usage () я описал утечку памяти к воображаемой части скрипта. сценарий выглядит примерно так: $sourceImg = 'source.png'; $destImg = 'dest.png'; $background ='#00ff00'; $im = new Imagick(); […]

PHP – проблема производительности и памяти с глобальными переменными

Гипотетическая ситуация: я запускаю сложный сайт в php, и я использую множество глобальных переменных. я мог бы хранить переменные в существующей глобальной области действия, скажем $_REQUEST['userInfo'] , $_REQUEST['foo'] и $_REQUEST['bar'] и т. д. и помещать много разных вещей в область запроса ( которые будут надлежащим образом использоваться, поскольку эти данные относятся к самому запросу). или […]

Неустранимая ошибка: допустимый размер памяти 134217728 байтов исчерпан (CodeIgniter + XML-RPC)

У меня есть множество клиентских точек продаж (POS), которые периодически отправляют новые данные о продажах в одну централизованную базу данных, которая хранит данные в одной большой базе данных для генерации отчетов. Клиентская POS основана на PHPPOS, и я внедрил модуль, который использует стандартную библиотеку XML-RPC для отправки данных о продажах в службу. Серверная система построена […]

Понимание использования памяти MySQL приводит к PHP (PDO)

Я пытаюсь понять, почему использование памяти для одного результата PDO настолько велико. Вот несколько вещей, которые нужно знать о запросе / результате: Я вытаскиваю один столбец VARCHAR(6) из одной таблицы Результат составляет менее 30 тыс. Строк При получении этого результата в PHP используется ~ 12 МБ памяти (source: memory_get_usage ) Если я json_encode результат и […]

Эффективно подсчитывает количество строк текстового файла. (200mb +)

Я только что узнал, что мой скрипт дает мне фатальную ошибку: Fatal error: Allowed memory size of 268435456 bytes exhausted (tried to allocate 440 bytes) in C:\process_txt.php on line 109 Эта строка такова: $lines = count(file($path)) – 1; Поэтому я думаю, что с трудом загружает файл в память и подсчитывает количество строк, есть ли более […]

PHP memory_get_usage

Я наткнулся на memory_get_usage() и memory_get_peak_usage() . Проблема в том, что я обнаружил, что эти две функции не обеспечивают реальную память, используемую текущим скриптом. Мой тестовый скрипт: <?php echo memory_get_usage(); echo '<br />'; $a = str_repeat('hello', 100000); echo '<br />'; echo memory_get_usage(); echo '<br />'; echo memory_get_peak_usage(); ?> Что возвращает: 355120 5355216 5356008 Что вы […]

Что вызывает «Невозможно выделить память для пула» в PHP?

Я иногда сталкивался с лимитом распределения памяти сервера, особенно с раздутым приложением, таким как WordPress, но никогда не сталкивался с «Невозможно выделить память для пула» и имел проблемы с отслеживанием любой информации. Кто-нибудь знает что это значит? Я попытался увеличить memory_limit без успеха. Я также не внес существенных изменений в приложение. Однажды не было никаких […]

Допустимый размер памяти X байтов

Неустранимая ошибка: допустимый размер памяти 67108864 байт исчерпан (пытался выделить 13965430 байт) PHPInfo показывает, что у меня есть memory_limit из 128M, поэтому я смущен, почему ошибка говорит, что у меня только 64M. Возможно ли, что phpinfo сообщит неправильно? Или для PHP использовать два отдельных php.inis? Ошибка вызвана вызовом ini_set в одном из основных файлов php, […]

Профилирование памяти PHP

Каков хороший способ профилировать использование памяти PHP-страницы? Например, чтобы узнать, сколько памяти использует мои данные, и / или какие вызовы функций выделяют большую часть памяти. xdebug, похоже, не предоставляет информацию о памяти в своей функции профилирования. xdebug предоставляет его в своей функции трассировки. Это очень близко к тому, что я хочу, за исключением того, что […]

Есть ли сборка мусора в PHP?

Я знаю, что в PHP вам не нужно освобождать память. Достигнут ли сборщик мусора?