我正在学习mvc。并尝试编写博客。所以我收到错误
严重错误:耗尽的134217728字节允许的内存大小(尝试到 分配262144字节)在C:\ xampp2 \ htdocs \ blog_mvc \ controllers \ Users.php中 第7行
我尝试将memory_limit更改为512,1024直到20000。它没有起作用。
我也尝试更改为-1。
它不是Mb。
我不知道该怎么办。 enter code here
View / login.php
<?php
session_start();
include("models/db.php");
include("controllers/Users.php");
echo ("memory limit: " . ini_get("memory_limit") . "<br />");
echo ("memory usage: " . round(memory_get_usage(true)/1048576,2) . "Mb (" .
memory_get_usage(true) . " bytes)<br />");
if(($_SERVER['REQUEST_METHOD'] == 'POST') && isset($_POST["signin"])){
$object2 = new Users;
$object2->login($_POST["username"],$_POST["password"]);
}
?>
<!DOCTYPE html>
<html>
<head>
<title>Login</title>
<?php include("includes/inc.style.php")?>
</head>
<body>
<div class="container">
<div class="row login-form-wrapper">
<form class="login-form" action="" method="post" >
<div class="form-group"><label for="username">Логин</label><input class="form-control" id="username" type="text" name="username"></div>
<div class="form-group"><label for="password">Пароль</label><input class="form-control" id="password" type="password" name="password"></div>
<input class="form-control btn btn-primary" type="submit" name ="signin" value="Войти">
<a href="signupform.php">Dign up</a>
</form>
</div>
</div>
</body>
Controllers / Users.php
<?php
class Users extends DB{
function set($username , $password , $email){
return $this->insert($username , $password , $email);
}
function login($username , $password){
return $this->login($username , $password );
}
}
Models / db.php
<?php
class DB{
var $conn;
function __construct(){
$this->conn=new mysqli("localhost","root","","Blog");
if($this->conn->connect_error){
echo "DB connection error" . $this->conn->connect_error;
}
else{
echo "Connected to db succesfully";
}
}
function login($username , $password){
echo memory_get_usage();
$sql="SELECT * from users where username='$username' and password='$password'" ;
$result=$this->conn->query($sql);
if ($result->num_rows > 0) {
while($row = $result->fetch_assoc()) {
$_SESSION["username"]=$row["username"];
}
echo "Success"; //header('Location: post_publication.php');
} else {
echo "Не удалось . Ошибка" .$this->conn->error;
}
$this->conn->close();
}
function insert($username , $password , $email){
$result=$this->conn->query("INSERT INTO users VALUES('','$username','$password','$email','2')");
if ($result === TRUE) {
header('Location: login.php?registered=true');
}
else{
$error= "Не удалось . Ошибка" .$this->conn->error;
}
$this->conn->close();
}
function __destruct(){
if ($this->conn!==null) { $this->conn = null; }
}
}
答案 0 :(得分:-1)
我认为您正在尝试从DB
的{{1}}类中调用父级。如果您的类扩展了另一个类,则只要该方法不是抽象的,就无需重新定义该方法。只需从用户类中删除User
函数。
login
或者您可以使用以下语法呼叫父母:
//function login($username , $password){
// return $this->login($username , $password );
//}
答案 1 :(得分:-2)
建议知道您的应用程序正在使用多少内存。话虽如此,您可以在运行时设置内存利用率限制,如下所示:
将这些行之一直接添加到
下session_start();
ini_set("memory_limit", "500M"); // Half a gig
ini_set("memory_limit", "-1"); // No memory limit.
那应该停止错误。