codeigniter 2 — Почему мой контроллер ошибок PHP работает с PHP 5, но не с PHP 7?

Я перевожу свой проект с PHP 5 на PHP 7.3, я внес изменения в расшифрованную функцию с помощью альтернативных функций. Но столкнулся с проблемой с одним файлом контроллера.

Тот же код работает для версии PHP5, но когда я пытаюсь выполнить тот же код для PHP 7, он не выдает никакой ошибки, даже если в файл errorLog не было добавлено никакой ошибки. Не могли бы вы помочь мне в этом.

Я загружаю свой файл контроллера error.php.

<?php
class Error extends CI_Controller {
private $controller = "error";
public function __construct() {
parent::__construct();
if ($this->phpsession->get('USERID')) {
$headerContent['controller'] = $this->controller;
$this->load->view('xome/header', $headerContent);
} else {
header("Location:" . ASITEURL . "/login/");
}
}

public function index() {
$this->load->view('x-404');
$this->load->view('xome/footer');
}

public function permission() {
$this->load->view('x-permission');
$this->load->view('xome/footer');
}

public function display() {
$this->load->view('x-error');
$this->load->view('xome/footer');
}
}
?>

Когда я нажимаю на URL, он должен загрузить страницу просмотра, но не может загрузить файл представления.

HTTP: // локальный / — проект имя папки — / ошибка / разрешение

Даже я проверил, нет ли синтаксической ошибки в контроллере, а также в любом файле представления.

0

Решение

Начиная с PHP7, Error является зарезервированным именем класса: http://php.net/manual/en/class.error.php.

Измените это на что-то другое:

class MyError extends CI_Controller
{
// ....
}
3

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]