Перенаправление Codeigniter не работает Ubuntu 18.04 LTS Server

Codeigniter версии 3.0.3 и PHP версии 7.2. Я установил серверную ОС Ubuntu 18.04 с mysql, php и apache2. Когда я запускаю проект codeigniter на локальном хосте, он работает нормально, но не на сервере. Он загружает страницу входа, но не перенаправляет на данную страницу, он просто обновляет страницу входа, когда предоставляются действительные учетные данные. Помогите решить, если кто знает проблему.

Ошибка при загрузке индексной страницы на сервере

<div style="border:1px solid #990000;padding-left:20px;margin:0 0 10px 0;">

<h4>A PHP Error was encountered</h4>

<p>Severity: Warning</p>
<p>Message:  sizeof(): Parameter must be an array or an object that implements Countable</p>
<p>Filename: controllers/Login.php</p>
<p>Line Number: 57</p>


<p>Backtrace:</p>
        <p style="margin-left:10px">
        File: /var/www/html/sample/application/controllers/Login.php<br />
        Line: 57<br />
        Function: sizeof            </p>
        <p style="margin-left:10px">
        File: /var/www/html/sample/index.php<br />
        Line: 292<br />
        Function: require_once          </p>
</div>
{"status":true,"message":""}"

Эта ошибка не возникает на локальном хосте.

введите здесь описание изображения


person C A Amila    schedule 11.07.2018    source источник
comment
покажи еще свой код   -  person Pradeep    schedule 11.07.2018


Ответы (2)


В моем случае я запускаю команду в терминале

sudo a2enmod переписать

После этого я перезапустил Apache

systemctl перезапустить apache2

В обоих случаях вам потребуется пароль администратора.

person Santos L. Victor    schedule 26.07.2018

Это предупреждение, которое появляется и у вас локально, но, возможно, вы отключили предупреждение или используете другую версию PHP. Поскольку вы анализируете json, он не сможет его проанализировать, потому что ответ смешан с предупреждением, поэтому он не в чистом формате json.

sizeof принимает массив или объект, реализующий Countable. Вы можете использовать эту функцию после проверки того, является ли переменная массивом или нет, используя это:

is_array($dataVariable)?sizeof($dataVariable):0

это вернет ноль, если переменная не является массивом. Вы также можете отключить предупреждение на производстве.

person Danyal Sandeelo    schedule 11.07.2018