memory
Hallo,
Ik heb een PHPscriptje, maar als ik het script probeer te runnen krijg ik deze error:
Allowed memory size of 67108864 bytes exhausted (tried to allocate 30720 bytes)
Ik heb geprobeerd met ini_set("memory_limit","24M"); de memory limit te verhogen, Maar tot 500M werkt nog steeds helemaal niks. EDIT: Ook verandert er niks.
Volgens NotePad++ is mijn bestandje (maar) 1214 bytes en heeft 45 regels, waarvan 3 leeg zijn.
heeft iemand een oplossing op mijn probleem, of hebben jullie meer info nodig..?
UPDATE 1, 2.
Het script checkt of je bent ingelogd, je mail geactiveerd is en of je PowerPlayer bent (dat ben je als je betaald hebt voor extra opties):
(is weet dat ik niet inspring, en dat het slordig is)
Hij geeft de fout op regel 40
het enige wat ik doe, voor ik de pagina include is session_starten en de databaseconnect includen (alleen verbinden met de database):
Alvast bedankt :)
Ro
Ik heb een PHPscriptje, maar als ik het script probeer te runnen krijg ik deze error:
Allowed memory size of 67108864 bytes exhausted (tried to allocate 30720 bytes)
Ik heb geprobeerd met ini_set("memory_limit","24M"); de memory limit te verhogen, Maar tot 500M werkt nog steeds helemaal niks. EDIT: Ook verandert er niks.
Volgens NotePad++ is mijn bestandje (maar) 1214 bytes en heeft 45 regels, waarvan 3 leeg zijn.
heeft iemand een oplossing op mijn probleem, of hebben jullie meer info nodig..?
UPDATE 1, 2.
Het script checkt of je bent ingelogd, je mail geactiveerd is en of je PowerPlayer bent (dat ben je als je betaald hebt voor extra opties):
(is weet dat ik niet inspring, en dat het slordig is)
Code (php)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
<?
$checksql = "SELECT * FROM accounts WHERE id = '".mysql_real_escape_string($_SESSION['id'])."' AND pass = '".mysql_real_escape_string($_SESSION['pass'])."'";
$checkres = mysql_query($checksql);
if(mysql_num_rows($checkres) == 0){
unset($_SESSION['id']);
unset($_SESSION['naam']);
unset($_SESSION['pass']);
echo '
<html>
<Title>...</title>
<head>
<script language="JavaScript">
<!--
function omleiding(){
location=\'index.php\'
}
//-->
</script>
</head>
<body onLoad="setTimeout(\'omleiding()\',1);">
</body>
</html>
';
exit();
}
$rowacc = mysql_fetch_assoc($checkres);
if($rowacc['activatie'] != "actief"){
include 'activeer_mail.php';
exit();
}
if($rowacc['ppd'] >= date('Ymd')){
$ppupd = "UPDATE `randomnumber`.`accounts` SET pp = '1' WHERE id = '".mysql_real_escape_string($_SESSION['id'])."'";
}else{
$ppupd = "UPDATE `randomnumber`.`accounts` SET pp = '0' WHERE id = '".mysql_real_escape_string($_SESSION['id'])."'";
}
if($rowacc['punten'] < 0){
$ppupd2 = "UPDATE `randomnumber`.`accounts` SET punten = '0' WHERE id = '".mysql_real_escape_string($_SESSION['id'])."'";
mysql_query($ppupd2);
}
mysql_query($ppupd);
?>
$checksql = "SELECT * FROM accounts WHERE id = '".mysql_real_escape_string($_SESSION['id'])."' AND pass = '".mysql_real_escape_string($_SESSION['pass'])."'";
$checkres = mysql_query($checksql);
if(mysql_num_rows($checkres) == 0){
unset($_SESSION['id']);
unset($_SESSION['naam']);
unset($_SESSION['pass']);
echo '
<html>
<Title>...</title>
<head>
<script language="JavaScript">
<!--
function omleiding(){
location=\'index.php\'
}
//-->
</script>
</head>
<body onLoad="setTimeout(\'omleiding()\',1);">
</body>
</html>
';
exit();
}
$rowacc = mysql_fetch_assoc($checkres);
if($rowacc['activatie'] != "actief"){
include 'activeer_mail.php';
exit();
}
if($rowacc['ppd'] >= date('Ymd')){
$ppupd = "UPDATE `randomnumber`.`accounts` SET pp = '1' WHERE id = '".mysql_real_escape_string($_SESSION['id'])."'";
}else{
$ppupd = "UPDATE `randomnumber`.`accounts` SET pp = '0' WHERE id = '".mysql_real_escape_string($_SESSION['id'])."'";
}
if($rowacc['punten'] < 0){
$ppupd2 = "UPDATE `randomnumber`.`accounts` SET punten = '0' WHERE id = '".mysql_real_escape_string($_SESSION['id'])."'";
mysql_query($ppupd2);
}
mysql_query($ppupd);
?>
Hij geeft de fout op regel 40
het enige wat ik doe, voor ik de pagina include is session_starten en de databaseconnect includen (alleen verbinden met de database):
Alvast bedankt :)
Ro
Gewijzigd op 24/07/2010 20:59:36 door Maestro Roboroads
Het gaat niet om de grootte van je script of het aantal regels. Zelfs met een paar regels kun je een script al om zeep helpen: denk aan een oneindige loop...
Nee, blijkbaar probeer je in je script iets te doen dat zo veel geheugen in beslag neemt, dat je deze foutmelding krijgt. Laat eens wat van je scriptje zien?
Nee, blijkbaar probeer je in je script iets te doen dat zo veel geheugen in beslag neemt, dat je deze foutmelding krijgt. Laat eens wat van je scriptje zien?
Dat ie een memory fout geeft ligt niet aan hoe groot het bestand is, maar aan wat het doet. Memory fouten ontstaan vaak bij 'beeldbewerking'. Wat doet jou script?
Update in 1e post ;)
Ik zie zo in eerste instantie geen gekke dingen. Je zou eens wat delen van je script weg kunnen laten en het dan uitvoeren om te zien waar het probleem zit?
Het zit niet in dit bestand, of je hebt te het niet gekopieerd en hier geplakt, want er moet nog wat boven zitten.
Verder moet je effe goed opletten dat je het juiste bestand te pakken hebt, en op welke regel de error ontstaat en dat door includes de regelnummers veranderd. Je moet dus dit bestand en de include als een bestand zien.
En veranderde de foutmelding toen je de memory limit omhoog gooide?
Verder moet je effe goed opletten dat je het juiste bestand te pakken hebt, en op welke regel de error ontstaat en dat door includes de regelnummers veranderd. Je moet dus dit bestand en de include als een bestand zien.
En veranderde de foutmelding toen je de memory limit omhoog gooide?
Het enige dat ik kan verzinnen wat in deze code die fout op zou kunnen leveren, is dat het stukje code wat hier uitgevoerd word ook 'activeer_mail.php' is. Dan krijg je dus als $rowacc['activatie'] != "actief", een oneindige loop. Hij blijft dan namelijk activeer_mail.php includen. En opnieuw en opnieuw.
@karl ik heb het stukkie code dat er nog boven zit voordat ik het include ook in mn 1e post gezet. (dit is namelijk een bestand om te includen).
En btw: Als ik de ini set, Verandert er hélémaal niks ;)
Ik kan word op de pagina waarop geinclude word een ini gaan setten, maar mn site bestaat uit heel wat pagina's die een safecheck hebben.
@mark Dat doet hij toch maar 1x..? Ik exit hem daarna, dus.. Moet er misschien include_once in..?
EDIT: Include_once werkt niet..
En btw: Als ik de ini set, Verandert er hélémaal niks ;)
Ik kan word op de pagina waarop geinclude word een ini gaan setten, maar mn site bestaat uit heel wat pagina's die een safecheck hebben.
@mark Dat doet hij toch maar 1x..? Ik exit hem daarna, dus.. Moet er misschien include_once in..?
EDIT: Include_once werkt niet..
Gewijzigd op 24/07/2010 21:13:20 door Maestro Roboroads
@ Roboroads:
De loop geld alleen als jouw stuk code ook activeer_mail.php is. Als dat zo is, dan begrijp ik je include niet. Want dan is dat zinloos. Dan voer je een stuk opnieuw uit, wat je al hebt uitgevoerd. Dit zou dan oneindig doorgaan.
De exit zou pas uitgevoerd nadat de oneindige loop van includes klaar zou zijn. Dus deze word niet uitgevoerd. Maar een include_once zou moeten werken. Zo niet; dan is dit niet het probleem.
De loop geld alleen als jouw stuk code ook activeer_mail.php is. Als dat zo is, dan begrijp ik je include niet. Want dan is dat zinloos. Dan voer je een stuk opnieuw uit, wat je al hebt uitgevoerd. Dit zou dan oneindig doorgaan.
De exit zou pas uitgevoerd nadat de oneindige loop van includes klaar zou zijn. Dus deze word niet uitgevoerd. Maar een include_once zou moeten werken. Zo niet; dan is dit niet het probleem.
Wachteven! Ik snap wat je bedoelt! Omg, dat ik er niet eerder aan geedacht had.. safecheck word inderdaad geinclude op mail_activeren ;)
Dankje!
Dankje!
Werkt het nu wel dan?
Jha, Ik moest even de include van safecheck eruit halen, Nu werkt alles prima! nogmaals bedankt ;)




