Wczoraj napisałem nowy skrypt blokujący dostęp do strony dla nieuprawnionych osób. Jednak po uruchomieniu go dostaje od PHP:
Fatal error: Allowed memory size of 134217728 bytes exhausted (tried to allocate 20480 bytes) in /opt/lampp/htdocs/kubagp/dostep.php on line 11
Próbowałem już zmieniać ilość pamieci PHP jednak nie wydaje mi się aby łączenie z bazą mogło zajmować 700 mb. bo tyle właśnie ramu zużył ten skrypt zanim Linux się zwiesił.
Za każdym razem dołączam do pliku, do którego chcę ograniczyć dostęp ten plik oraz wywołuje funkcję dostep() z argumentem w postaci stringa z nazwą strony.
Proszę o pomoc
<?php
function dostep($nazwa_strony)
{
global $mysqlhost, $mysqlname, $mysqlpass, $nazwa_strony;
if(!isset($mysqlname))
{
require_once("mysqlhost.php");
}
$polaczenie = new mysqli($mysqlhost, $mysqlname, $mysqlpass, "b9_21256974_baza");
$sql = 'SELECT dostep FROM dostep WHERE adres="'.$nazwa_strony.'"';
$zapytanie = $polaczenie -> query($sql);
$row = $zapytanie->fetch_assoc();
$uprawnienia = $row['dostep'];
$polaczenie->close();
if($_SESSION['uprawnienia']>=$uprawnienia)
{
return(true);
}
else
{
if((isset($_SERVER['HTTP_REFERER'])&&(dostep($_SERVER['HTTP_REFERER']))))
{
header('Location: '.$_SERVER['HTTP_REFERER']);
}
else
{
header('Location: index.php');
}
}
}
?>