Autor | Zpráva | ||
---|---|---|---|
raddimm.xx Profil |
#1 · Zasláno: 14. 11. 2016, 13:14:14
Mám XML (konkrétně se jedná o zbozi.cz) na 500 000 produktů. Vše fungovalo OK po přestěhování serveru mi píše:
Fatal error: Allowed memory size of 268435456 bytes exhausted (tried to allocate 32 bytes) in ... Přičemž na původním serveru byla nastavena paměť na pár mega, na novém jsem zvednul několikanásobně a přesto vytvoří max něco málo přes 400 000 zápisů do sbouro, pak přeteče. Administrátor tvrdí, že tj sql (nová verze), která "jinak" hospodaří s pamětí. Myslel jsem si že to je spíše práci se souborem. Moc tomu nerozumím. Navedete mě na možnosti jak správně vytvářet takhle velký XML co nejhospodárněji. Případně tip v čem může být tak podstatný rozdíl. PS na vytváření používám $soubor=fopen("data_neco.xml", "w"); $hlavicka = "<?xml version=\"1.0\" encoding=\"UTF-8\"?><SHOP>"; fwrite($soubor,$hlavicka); ... atd |
||
Prochy Profil |
#2 · Zasláno: 14. 11. 2016, 13:19:56
Zpracovávat to po částech.
What is the best way to write a large file to disk in PHP? PHP fwrite() for writting a large string to file |
||
raddimm.xx Profil |
#3 · Zasláno: 14. 11. 2016, 13:27:44
Prochy:
to asi neni úplně ono zapisuju po řádku respektive každou item |
||
Keeehi Profil |
#4 · Zasláno: 14. 11. 2016, 14:01:30
raddimm.xx [#1]:
Ten kód co jsi sem dal dává smysl. Takto nějak by řešení mělo asi vypadat. Ovšem přetékat ti to může i někde jinde, než na samotném zápisu. A to jen z náhledu opravdu nezjistíme. |
||
Časová prodleva: 8 let
|
0