Kritieke fout bij uploaden foto's via plugins van Joomla

Status
Niet open voor verdere reacties.

MarnixICT

Gebruiker
Lid geworden
15 okt 2011
Berichten
182
Hallo allemaal,

Ik heb een behoorlijk groot probleem. Ik beheer de website van een lokale zwemvereniging, waar veel foto's naar toe worden gestuurd zodat ik ze weer op de site kan zetten via RSGallery. Alles ging eerst hardstikke goed, maar plotseling uit het niets duurt het uploaden veel langer, als ik te veel foto's probeer te uploaden word de verbinding verbroken. Anders krijg ik deze foutmeldingen:

Fatal error: Allowed memory size of 50331648 bytes exhausted (tried to allocate 16000 bytes) in /home/(gebruikersnaam)/(pad)/includes/img.utils.php on line 535

Raar is dat ik zelf geen probleem heb om via de ftp of het web items te uploaden naar de site.
Ik heb dit probleem bij de server-verhuurder gelegd (wij hebben het domein en serverruimte bij 2 verschillende bedrijven) maar ik krijg tot 3 maal toe geen antwoord op mijn probleem.

Op dit moment ben ik bezig met een nieuwe look voor de site, met de nieuwste versie van Joomla, dus ik heb het opnieuw geprobeerd met 3 verschillende plugins, maar helaas geven alle plugins dezelfde foutmelding.
Heeft iemand enig idee hoe dit opgelost kan worden?

Alvast bedankt!
 
Kan alleen maar worden opgelost door de partij waar je site gehost wordt.
Als ze niet reageren zou ik op zoek gaan naar een andere host.

Tardis
 
Lijkt mij dat er in php.ini de waarde over geheugengebruik verhoogd moet worden. Oftewel: Een instelling in PHP.
Specifiek deze sectie:
; Maximum amount of memory a script may consume (128MB)
; http://php.net/memory-limit
memory_limit = 128M

Ik heb het idee dat dat daar bij jou 50MB staat (of zelfs minder). Verhoog wat jij hebt staan. Herstart daarna het webserver-proces. Probeer het daarna opnieuw.

Succes,

Tijs.
 
Hoe doe ik dat? Waar kan ik die instelling vinden? Hoe moet ik de webserver opnieuw opstarten? via CPanel?
 
Kan goed kloppen wat Tijs zegt.
Echter ik dacht dat alleen je service provider dit aan kan passen.

Tardis
 
Dat lijkt me een vraag voor je web-provider (moet je gewoon telefonisch kunnen stellen, lijkt me).

Het is namelijk afhankelijk van hoe cPanel is ingericht of je dergelijke aanpassingen zélf mag doen of niet (en waar het te vinden is in cPanel etc.)

Als je wilt weten waar php.ini staat die door je website wordt gebruikt: Maak een phpinfo.php met de volgende code, zet die online en roep die aan vanuit je webbrowser:
Code:
<?php
phpinfo();
?>

Wellicht kun je vanaf een shell (of een of andere online editor in cPanel) dan het php.ini bestand aanpassen.

Alternatief is in je upload-script tijdelijk de waarde van memory_limit veranderen, zodanig dat die alleen tijdens de loop van het script andere waarde heeft dan in php.ini: Kijk hier

Tijs.
 
Laatst bewerkt:
aha memory_limit staat op 48MB. Het include path is .:/usr/lib/php:/usr/local/lib/php, waar ik dus niet bij kan.
Ik zal van de week proberen contact op te nemen met mijn hoster.

Nogmaals bedankt voor de hulp !
 
Dat is prima. Zoals je ziet is de standaardwaarde (normaal gesproken, 'uit de doos') 128MB, wat toch bijna 3x zoveel is als dat je hoster heeft ingesteld.

Ik verwijs (voor een mogelijk snellere oplossing) even naar wat ik zojuist al schreef:
Alternatief is in je upload-script tijdelijk de waarde van memory_limit veranderen, zodanig dat die alleen tijdens de loop van het script andere waarde heeft dan in php.ini: Kijk hier

Ik vermoed namelijk dat de hoster de waarde niet gaat veranderen in php.ini (er zal wel een ontwerp-beslissing aan ten grondslag liggen en/of er zijn wellicht ook andere websites dan die van jou die draaien op dezelfde server).

Tijs.
 
Laatst bewerkt:
oke, dat is vreemd.

Dan zet ik dit in de function van resizeImage(), waar de fout zich voordoet in de buurt van lijn 535:
Code:
ini_set('memory_limit', '128M');

Edit: Dit werkt niet, krijg dezelfde error maar dan op lijn 536, waar kan ik dit het beste neerzetten? Ik heb geen ervaring met PHP.
 
Laatst bewerkt:
Ik ben ook geen PHP-goeroe, en ik zet zelf die variabelen gewoon in php.ini wat jij niet blijkbaar niet mag.

Even 2 dingen, uit de link over ini_set:
a. Zie dat "If you set something using php_admin_value in httpd.conf it is then not possible to be set the value at runtime". Oftewel: Kijk ook of er iets staat in httpd.conf dat verdere aanpassingen via ini_set blokkeert.
b. "You have to set it in every script that uses the session variables BEFORE "session_start()" or php won't find them." Oftewel: Zet (wat mij betreft) direct na <?php dat ini_set commando.

Succes,

Tijs.
 
Laatst bewerkt:
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan