Intereting Posts
уведомлять по электронной почте по дате истечения срока действия jQuery DataTables: Uncaught TypeError: невозможно прочитать свойство «mData» неопределенного Получить идентификатор из пули Laravel 4 Doctrine DQL, наследование таблицы классов и доступ к полям подкласса cURL требует CURLOPT_SSL_VERIFYPEER = FALSE «Потерянное соединение с сервером MySQL» при попытке подключения к удаленному серверу MySQL Создание предварительного просмотра шрифта удалить элемент из массива на основе его значения? Отправляйте деньги на любую учетную запись PayPal и получайте уведомление об оплате Найти внутренние массивы в вложенных массивах php mysql сортировать по дате (новейший) Получить весь простой продукт из настраиваемого продукта в представлении продукта Magento Не удалось установить phpmyadmin на PHP7 Apache / 2.4.7 (Ubuntu) PHP – удалить тег <img> из строки Facebook: сообщение опубликовано с PHP SDK, не отправленное на Twitter

Размер памяти исчерпан при попытке использовать MySQLi

Я использую MysqliDb Class оттуда.

https://github.com/ajillion/PHP-MySQLi-Database-Class/blob/master/MysqliDb.php

Когда я использую на локальном компьютере, у меня нет никаких проблем. Но вчера я купил хозяин. И я загрузил свои файлы около 5 минут назад и не работает. Я проверил мой хост и создал файл error_log, и это ..

PHP Fatal error: Allowed memory size of 75497472 bytes exhausted (tried to allocate 4294967296 bytes) in /home/(..)/MysqliDb.php on line 417 

Что это за проблема?

Я использовал этот код в своем файле конфигурации. Но это тоже не сработало.

 ini_set('memory_limit', '192M'); 

Я думаю, что вы используете LongText в своей базе данных.

Прочтите это сообщение: https://bugs.php.net/bug.php?id=51386

Поэтому попробуйте mysqli :: store_result перед bind_result.

Команды ini_set которые влияют на пределы сервера, как правило, блокируются (поэтому вы можете использовать только те, которые связаны с отображением ошибок или около того).

Имейте в виду, что вы пытаетесь выделить 4,2 Гб, что представляет собой довольно большой объем информации для веб-сайта.

Рекомендации:

  • Убедитесь, что вы создаете бесконечный цикл, который пытается загрузить эту большую информацию (не только в этом классе, но до этого вызова в вашем собственном коде).
  • Используйте более легкий класс mysqli (вы попробовали тот, который по умолчанию поставляется с PHP 5 )?
  • Проверьте, может ли ваша проблема быть решена в другом (может быть, асинхронно, этот объем памяти безумный для веб-сайта), более легкий путь, возможно, с другим языком, например C или C ++, для освобождения загрузки из Apache.
  • Поговорите с вашим провайдером хостинга и попробуйте убедить их, чтобы вы могли загружать 4,2 Гб данных.