Autor Zpráva
AdiOverRide
Profil
Ahoj,
řešili jste někdo konverze pdf -> PNG, nebo JPG. Našel jsem si, že ideálně to mám dělat přes imagick nějak takto:


    ...
    $pdf = new \Imagick();
    $pdf->setResolution(300,300);
        $pdf->readImage($values['image_path']);
    ...

Vše jede jak má ale pouze u "malých" pdf souborů. Když tam nahraji větší tak to zkolabuje u na řádku "$pdf->readImage($values['image_path']);" a vypíše to chybu "Maximum execution time of 90 seconds exceeded". Problém je v tom že tam hlavně potřebuji nahrávat "větší" soubory. Hostuji aplikaci na wedosu, kde mi to asi půl roku jelo bez problému problém se objevil až nyní a vůbec nevím jak to ošetřit aby to jelo.

Máte někdo nějaký nápad?

Díky,
A.
janbarasek
Profil
AdiOverRide:
PHP má nastavený limit, jak dlouho může běžet (a pak se script sám nastaví). Také má vyhrazenou paměť, kterou může maximálně zaplnit. Nezpracováváš náhodou nějaké příliš velké soubory? Toto by se mělo na Wedosu stávat jen u souborů nad nějakých 80MB s rozsahem nad 150 stran, limity mají hostingy nastavené obvykle docela dost vysoko pro běžné použití.
pcmanik
Profil
janbarasek:
Imagick nieje obmedzený memory limitom nastaveným pre PHP.

O ako veľký súbor sa jedná? 90 sekúnd je viac než dosť času na spracovanie. Vyskúšaj zmenšiť rozlíšenie na 200, ostrosť textu by stále mala byť dobrá.
AdiOverRide
Profil
Zpracovávám soubor zhruba o 12 stranách o velikosti 1,8 Mb. Když jsem nastavil setResolution(100,100); tak vše běží jak má. Tzn berz to jako vyřešené (sic kvalita je trošku horší ale ne tak znatelně). Spíš mě zajímalo jak by se dalo to řešit do budoucna u jiného projektu, zda by to šlo zpracovávat nějak dávkově (což si myslím že těžko, když je požadavek nahrát tam jeden PDF soubor) co? :) Díky, A.
Martin Adámek
Profil
ad pcmanik: "Imagick nieje obmedzený memory limitom nastaveným pre PHP"

To myslíš obecně, nebo v souvislosti s Wedosem?
Mně teď jedna moje uploadovací admin. aplikace (na jiném hostingu) zpracovávající fotky imagickem háže chybu "Fatal error: Maximum execution time of 30 seconds exceeded in ...".
Tak teď váhám, jestli nemám důvod zpoždění někde jinde.
Předpokládal jsem, že jde o ten imagick, přemýšlím nad řešením, progooglil jsem se sem, a teď mě tu překvapuješ, že imagicku se limit netýká, tak teď nevím...
A hlavně - imagick volám uvnitř php souboru, a ten stejně na imagick čeká.

Tím, že imagick má (může mít) z execution time výjimku, si jseš jistej?
Mně se to moc nezdá - jelikož ten můj skript nemá co jinýho brzdit; jelikož php na imagick stejně musí počkat; a navíc na netu je víc dotazů na téma imagick a execution time (a odpověď zní např. "zvaž nižší rozlišení fotky...")
Davex
Profil
Martin Adámek:
Pcmanik psal o „memory limitom“ nikoliv o „execution time“. Jsou to odlišná omezení.

Vaše odpověď

Mohlo by se hodit


Prosím používejte diakritiku a interpunkci.

Ochrana proti spamu. Napište prosím číslo dvě-sta čtyřicet-sedm: