Codeigniter重定向不起作用Ubuntu 18.04 LTS Server

时间:2018-07-11 10:42:52

标签: php codeigniter apache2 ubuntu-18.04

Codeigniter版本3.0.3和PHP版本7.2。 我已经用mysql,php和apache2安装了Ubuntu 18.04 Server OS。当我在localhost中运行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":""}"

在本地主机中不会发生此错误。

enter image description here

2 个答案:

答案 0 :(得分:1)

对于我来说,我在终端中运行命令

  

sudo a2enmod重写

之后,我重新启动了Apache

  

systemctl重新启动apache2

在两种情况下,您都将需要管理员密码

答案 1 :(得分:0)

这是一个警告,也会在您的本地使用,但是您可能已禁用警告或正在使用其他版本的PHP。由于您正在解析json,因此它将无法解析,因为响应中混入了警告,因此它不是纯json格式。

sizeof采用一个数组或一个实现Countable的对象。您可以在检查变量是否为数组之后使用此函数:

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

如果变量不是数组,它将返回零。您也可以在生产中禁用警告。