Articles of памяти

PHP-скрипты командной строки игнорируют директивы php.ini и ini_set ('memory_limit', …)

Я столкнулся с общей «Неустранимая ошибка: вне памяти (выделено 30408704) (попытался выделить 24 байта) …» PHP Fatal error. Страницы, обслуживаемые через Apache, не демонстрируют такого поведения. Я пробовал следующее: Увеличьте memory_limit в php.ini до гораздо большего значения. Увеличение memory_limit внутри самого скрипта посредством вызовов ini_set('memory_limit', -1) , ini_set('memory_limit', '-1') , ini_set('memory_limit', 100000000) , ini_set('memory_limit', '128M') […]

Есть ли способ получить размер переменной PHP в байтах?

В настоящее время у меня есть PHP CLI-скрипт с использованием Zend Framework, который, как кажется, использует все больший объем памяти. Он перемещается по большому набору моделей, полученных из базы данных в партиях по 1000. Вызовы memory_get_usage() показывают, что использование памяти в скрипте всегда увеличивается. Это несмотря на то, что я не могу отменить модель после […]

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

Горячий, чтобы решить эту проблему и почему это происходит? Zend Server Log: PHP Неустранимая ошибка: разрешенный размер памяти 134217728 байт исчерпан (пытался выделить 538798977 байт) в C: \ Program Files (x86) \ Zend \ Apache2 \ htdocs \ test \ modules \ main.php в строке 3 Файл main.php не производит никаких ошибок, если он выполняется […]

Почему readfile () исчерпывает память PHP?

Я видел много вопросов о том, как эффективно использовать PHP для загрузки файлов, а не для прямого HTTP-запроса (чтобы защитить файлы, отслеживать загрузки и т. Д.). Ответ почти всегда на PHP readfile () . Загрузка больших файлов в PHP Как заставить загружать большие файлы, не используя слишком много памяти? Лучший способ прозрачной загрузки журналов? НО, […]

Отменить все переменные в скрипте PHP

Попытка автоматически отключить все переменные в скрипте. Пробовали вот так: echo '<br /> Variables in Script before unset(): <br />'; print_r(array_keys(get_defined_vars())); echo '<br /><br />'; var_dump(get_defined_vars()); // Creates string of comma-separated variables(*) for unset. $all_vars = implode(', $', array_keys(get_defined_vars())); echo '<br /><br />'; echo '<br />List Variables in Script: <br />'; echo $all_vars; unset($all_vars); echo […]

Какая функция gc_collect_cycles полезна?

Может кто-нибудь объяснить, при каких обстоятельствах функция gc_collect_cycles может быть полезна? Должна ли она быть вызвана до того, как произойдет существенное использование памяти?

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; Поэтому я думаю, что с трудом загружает файл в память и подсчитывает количество строк, есть ли более […]