php读库生成xml文件解决方案
php读库生成xml文件
话说库里有60多W条记录,用php+mysql循环读库,生成xml文件。
现在准备每个xml页面存1000条记录,那就是生成60多页xml文件。
现在问题来了:每次生成xml文件到13页的时候 也就是读库里134000条的时候,页面就报错了:
Fatal error: Allowed memory size of 134217728 bytes exhausted (tried to allocate 80 bytes)
求大牛 帮忙看下 这是怎么回事? 该怎么处理? 如何让他顺利生成完所有页面
祝好心人一生平安!
------解决方案--------------------
分配的内存不够用了,修改php.ini 找到memory_limit = 128M 改大一点
------解决方案--------------------
超过php.ini配置文件中memory_limit设置的内存限制了(默认值是128MB,134217728字节)。128兆已经够多了,估计你的代码有问题,循环的时候都是每1000条记录保存到一个变量?可以改为每读取1000条变量保存到一个PHP变量,然后写xml文件,再读取1000条变量,保存到同一个变量,再写xml文件。。。
------解决方案--------------------
内存超过限制了,可以试着调高php.ini中的内存限制。
最好还是增加循环读取次数,而且每次循环结束时unset() mysql_free_result()释放不需要的内存
------解决方案--------------------
把关键代码发上来看看。
------解决方案--------------------
------解决方案--------------------
------解决方案--------------------
内存不够了呗,
方法是:
1.增大程序可以使用的内存 ini_set('memory_limit', '???M');
2.减少程序已经使用的内存, 看你的code
------解决方案--------------------
我没算错的话应该是600多页吧
用mysql_free_result()释放结果集而不是mysql连接,10页释放一次,还不信了这点数据还搞定不了
------解决方案--------------------
只要数据本身不存在问题,分批读和写应该没事的.如果服务器有限制而无法修改参数,你可将数据下载回来本地处理嘛.
------解决方案--------------------
------解决方案--------------------
贴出代码瞧瞧就知道
------解决方案--------------------
另外一个可能的情况,你查询数据库返回的结果集中记录的平均长度比较巨大(比如记录平均总长度超过120KB)。可以尝试用mysql_unbuffered_query代替mysql_query。
------解决方案--------------------
------解决方案--------------------
504 Gateway Time-out 是超时了
不是 php 超时,而是 nginx超时。因为你在处理期间一直没有echo
DOMDocument 非常消耗内存
对于你的应用不见得合适
你可贴出 xml 结构看看,可能在 SQL 中可组装完成
------解决方案--------------------
关于 504 Gateway Time-out 你可以看看这些 http://www.google.com.hk/search?client=aff-cs-360chromium&ie=UTF-8&q=504+Gateway+Time-out
没有必要和你争辩
既然是 服务器我没权限 ,那么也就无所谓命令行执行了

Heiße KI -Werkzeuge

Undresser.AI Undress
KI-gestützte App zum Erstellen realistischer Aktfotos

AI Clothes Remover
Online-KI-Tool zum Entfernen von Kleidung aus Fotos.

Undress AI Tool
Ausziehbilder kostenlos

Clothoff.io
KI-Kleiderentferner

AI Hentai Generator
Erstellen Sie kostenlos Ai Hentai.

Heißer Artikel

Heiße Werkzeuge

Notepad++7.3.1
Einfach zu bedienender und kostenloser Code-Editor

SublimeText3 chinesische Version
Chinesische Version, sehr einfach zu bedienen

Senden Sie Studio 13.0.1
Leistungsstarke integrierte PHP-Entwicklungsumgebung

Dreamweaver CS6
Visuelle Webentwicklungstools

SublimeText3 Mac-Version
Codebearbeitungssoftware auf Gottesniveau (SublimeText3)

Heiße Themen

PHP 8.4 bringt mehrere neue Funktionen, Sicherheitsverbesserungen und Leistungsverbesserungen mit einer beträchtlichen Menge an veralteten und entfernten Funktionen. In dieser Anleitung wird erklärt, wie Sie PHP 8.4 installieren oder auf PHP 8.4 auf Ubuntu, Debian oder deren Derivaten aktualisieren. Obwohl es möglich ist, PHP aus dem Quellcode zu kompilieren, ist die Installation aus einem APT-Repository wie unten erläutert oft schneller und sicherer, da diese Repositorys in Zukunft die neuesten Fehlerbehebungen und Sicherheitsupdates bereitstellen.

Eine der wichtigsten Änderungen, die in MySQL 8.4 (der neuesten LTS-Version von 2024) eingeführt wurden, besteht darin, dass das Plugin „MySQL Native Password“ nicht mehr standardmäßig aktiviert ist. Darüber hinaus entfernt MySQL 9.0 dieses Plugin vollständig. Diese Änderung betrifft PHP und andere Apps

Visual Studio Code, auch bekannt als VS Code, ist ein kostenloser Quellcode-Editor – oder eine integrierte Entwicklungsumgebung (IDE) –, die für alle gängigen Betriebssysteme verfügbar ist. Mit einer großen Sammlung von Erweiterungen für viele Programmiersprachen kann VS Code c

Dieses Tutorial zeigt, wie XML -Dokumente mit PHP effizient verarbeitet werden. XML (Extensible Markup-Sprache) ist eine vielseitige textbasierte Markup-Sprache, die sowohl für die Lesbarkeit des Menschen als auch für die Analyse von Maschinen entwickelt wurde. Es wird üblicherweise für die Datenspeicherung ein verwendet und wird häufig verwendet

Eine Zeichenfolge ist eine Folge von Zeichen, einschließlich Buchstaben, Zahlen und Symbolen. In diesem Tutorial wird lernen, wie Sie die Anzahl der Vokale in einer bestimmten Zeichenfolge in PHP unter Verwendung verschiedener Methoden berechnen. Die Vokale auf Englisch sind a, e, i, o, u und sie können Großbuchstaben oder Kleinbuchstaben sein. Was ist ein Vokal? Vokale sind alphabetische Zeichen, die eine spezifische Aussprache darstellen. Es gibt fünf Vokale in Englisch, einschließlich Großbuchstaben und Kleinbuchstaben: a, e, ich, o, u Beispiel 1 Eingabe: String = "TutorialPoint" Ausgabe: 6 erklären Die Vokale in der String "TutorialPoint" sind u, o, i, a, o, ich. Insgesamt gibt es 6 Yuan

Wenn Sie ein erfahrener PHP-Entwickler sind, haben Sie möglicherweise das Gefühl, dass Sie dort waren und dies bereits getan haben. Sie haben eine beträchtliche Anzahl von Anwendungen entwickelt, Millionen von Codezeilen debuggt und eine Reihe von Skripten optimiert, um op zu erreichen

CMS steht für Content Management System. Es handelt sich um eine Softwareanwendung oder Plattform, die es Benutzern ermöglicht, digitale Inhalte zu erstellen, zu verwalten und zu ändern, ohne dass dafür fortgeschrittene technische Kenntnisse erforderlich sind. CMS ermöglicht Benutzern das einfache Erstellen und Organisieren von Inhalten

Arrays sind lineare Datenstrukturen, die zur Verarbeitung von Daten in der Programmierung verwendet werden. Manchmal, wenn wir Arrays verarbeiten, müssen wir dem vorhandenen Array neue Elemente hinzufügen. In diesem Artikel werden wir verschiedene Möglichkeiten diskutieren, Elemente zum Ende eines Arrays in PHP hinzuzufügen, mit Code -Beispielen, Ausgabe sowie Zeit- und Raumkomplexitätsanalyse für jede Methode. Hier sind die verschiedenen Möglichkeiten, um einem Array Elemente hinzuzufügen: Verwenden Sie quadratische Klammern [] In PHP besteht die Möglichkeit, Elemente zum Ende eines Arrays hinzuzufügen, die Verwendung von Quadratklammern []. Diese Syntax funktioniert nur in Fällen, in denen wir nur ein einzelnes Element hinzufügen möchten. Das Folgende ist die Syntax: $ array [] = Wert; Beispiel
