Zadejte hledaný výraz...

Php fatal error out of memory

Martin
verified
rating uzivatele
(3 hodnocení)
30. 5. 2013 12:24:38
zdravim,
potreboval bych poradit jak nacist z URL adresy zdrojovy XML, ktery je velky. Neustale mi to rika "fatal error out of memory (allocated 255400000)...". Spoustim to pres prikazovy radek ve win. V php.ini mam sice limit 32MB, ale ve skriptu nastavuji vic, ale chybova hlaska je stale stejna. Vypis pres init_get('memory_limit') souhlasi s tim, co chci nastavit. Jedna se o 32bit win a data se snazim nacist zkrz file_get_contents (zkousel jsem i curl a nic). PC melo jenom 2GB RAM, tak jsem pridal jeste dalsi 2GB a taky nic. Jedna se o PHP 5.4.3.
dekuji za jakykoliv nazor
30. 5. 2013 12:24:38
https://webtrh.cz/diskuse/php-fatal-error-out-of-memory/#reply907066
Petr Zachrdla
verified
rating uzivatele
(1 hodnocení)
30. 5. 2013 12:31:34
A jak je to XML velké?
30. 5. 2013 12:31:34
https://webtrh.cz/diskuse/php-fatal-error-out-of-memory/#reply907065
Pokud mas limity nastavene dostatecne vysoko a presto se nedari, zkusil bych xml stahnout a teprve potom ho lokalne zpracovat
30. 5. 2013 12:33:21
https://webtrh.cz/diskuse/php-fatal-error-out-of-memory/#reply907064
Marek
verified
rating uzivatele
(2 hodnocení)
30. 5. 2013 12:57:02
Nejspíš XMLko parsuješ špatně - a to tím způsobem, že se to snažíš parsovat celé najednou, což logicky musí skončit chybou, pokud je to vážně velký XML soubor. Naštěstí existuje řešení, a to, že soubor budeš parsovat po částech. jsou na to dělané knihovny, které si s tím poradí.
Například XMLReader => http://stackoverflow.com/questions/911663/parsing-huge-xml-files-in-php :-)
30. 5. 2013 12:57:02
https://webtrh.cz/diskuse/php-fatal-error-out-of-memory/#reply907063
Martin
verified
rating uzivatele
(3 hodnocení)
30. 5. 2013 13:13:35
velikost toho XML v tu chvili nevim, jedna se win aplikaci, ktera na zaklade POST pozadavku vrati XML, tak se ho snazim nacist a pritom nacitani to padne
30. 5. 2013 13:13:35
https://webtrh.cz/diskuse/php-fatal-error-out-of-memory/#reply907062
Petr Zachrdla
verified
rating uzivatele
(1 hodnocení)
30. 5. 2013 13:18:25
Napsal mates3;955561
velikost toho XML v tu chvili nevim, jedna se win aplikaci, ktera na zaklade POST pozadavku vrati XML, tak se ho snazim nacist a pritom nacitani to padne
stáhni si do win program wget a zadej do příkazového řádku nebo total commanderu
wget http://dfsjdfhjskdhfj.cz/soubor.xml
(pochopitelně adresu nahradit svojí)
http://gnuwin32.sourceforge.net/packages/wget.htm
30. 5. 2013 13:18:25
https://webtrh.cz/diskuse/php-fatal-error-out-of-memory/#reply907061
Martin
verified
rating uzivatele
(3 hodnocení)
30. 5. 2013 17:17:19
vyreseno, ukazalo se, ze melo XMLko 400MB a ze by ten limit bohate stacil, jenom windows xp to nejak pres file_get_contents nepobraly (potom jsem to jeste testnul na win2008 server, kde to pod PHP 5.3.6 bezelo bez problemu...). pomoci curl se da naprimo stahnout XML o nezname velikosti:
set_time_limit(0);
$url = "http://www.domain.com/path/";
$file = "file.xml";
$post = "query=any_string";
$fp = fopen($file,"w+");
$curl_connection = curl_init($url);
curl_setopt($curl_connection,CURLOPT_TIMEOUT,30);
curl_setopt($curl_connection,CURLOPT_FILE,$fp);
curl_setopt($curl_connection,CURLOPT_FOLLOWLOCATION,true);
curl_setopt($curl_connection,CURLOPT_POSTFIELDS,$post);
curl_exec($curl_connection);
curl_close($curl_connection);
fclose($fp);
?>
30. 5. 2013 17:17:19
https://webtrh.cz/diskuse/php-fatal-error-out-of-memory/#reply907060
Pro odpověď se přihlašte.
Přihlásit