Articles of Управление

Drupal (6.19) cron исчерпывает память при индексировании поиска

Моя установка Drupal 6.19 работает около шести месяцев. Клиент активно использует его для публикации большего количества контента. Однако что-то произошло, потому что теперь cronjob не заканчивается. Неустранимая ошибка: допустимый размер памяти 134217728 байт исчерпан (пытался выделить 36230464 байт) в /XXX/modules/search/search.module в строке 444 Как вы видите, у меня есть ограничение памяти 128M в PHP.ini и […]

PHP. Рекурсивная замена строк на числа занимает слишком много времени.

Поскольку «SELECT» MYSQL выбирает целые числа и плавает как строки, и мне нужен каждый ответ, который я получаю (от JS), чтобы быть в правильной модели данных – 1 не «1», 53.2 не "53.2", Я создал эту рекурсивную функцию, которая работает с смешанным типом-массивом / объектом: private function cast_number(&$mixed) { if(is_array($mixed)) { foreach ($mixed as $key […]

База данных – управление версиями данных в одной таблице

Я разрабатываю CMS, который имеет некоторые функции контроля версий. Он основан на MySQL Db. Идея состоит в том, чтобы показать посетителям публичного сайта «определенную ревизию» данных и пользователей backoffice предварительный просмотр «последней редакции». Публикация чего-то просто означает установить «определенную ревизию», равную последней (и, возможно, удаление данных старых версий). Я прочитал некоторые вопросы и ответы о […]

memory_get_usage

Я делаю небольшой класс тестов для отображения времени загрузки страницы и использования памяти. Время загрузки уже работает, но когда я показываю использование памяти, он не меняется. Пример: $conns = array(); ob_start(); benchmark::start(); $conns[] = mysql_connect('localhost', 'root', ''); benchmark::stop(); ob_flush(); использует ту же память, что и $conns = array(); ob_start(); benchmark::start(); for($i = 0; $i < […]

Эффективность и масштабируемость массива PHP

При объявлении массива в PHP индекс может быть создан не в порядке … Т.е. Массив [1] = 1 Массив [19] = 2 Массив [4] = 3 Мой вопрос. При создании массива, подобного этому, длина 19 с нулями между ними? Если бы я попытался получить Array [3], получилось бы это неопределенным или выбросило ошибку? Кроме того, […]

интерактивное управление программой с использованием php

Я хотел бы запустить программу на удаленном компьютере с помощью php. Конечная цель – управлять программой с помощью веб-браузера на телефоне или на любом другом компьютере. Моя программа C получает данные от разных датчиков в течение нескольких десятков минут. Он запускается из командной строки в Linux, и я могу отключить его, нажав клавишу «q» на […]

Есть ли способ получить размер переменной 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 не производит никаких ошибок, если он выполняется […]

Где я должен хранить ключ шифрования для php?

Я пишу php-приложение, которое принимает конфиденциальные данные клиента, поэтому мне нужно зашифровать его, прежде чем хранить его в базе данных mysql. Я собираюсь использовать встроенную функциональность AES для mysql для шифрования на уровне столбца. Я хочу избежать хранения ключа шифрования на сервере, и поэтому я собираюсь предоставить веб-страницу для входа администратора и ввести ключ шифрования. […]

Отслеживание использования памяти в PHP

Я пытаюсь отслеживать использование памяти сценария, обрабатывающего URL-адреса. Основная идея состоит в том, чтобы проверить, существует ли разумный буфер, прежде чем добавлять другой URL-адрес в обработчик cURL multi. Я использую концепцию «roll cURL», которая обрабатывает данные URL-адресов, когда выполняется многопроцессор. Это означает, что я могу поддерживать N соединений активными, добавляя новый URL-адрес из пула каждый […]