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
Line: 57
Function: sizeof </p>
<p style="margin-left:10px">
File: /var/www/html/sample/index.php
Line: 292
Function: require_once </p>
</div>
{"status":true,"message":""}"
localhost中不会发生此错误 .
2 回答
在我的情况下,我运行命令 in terminal
之后我重新启动了Apache
在这两种情况下你都需要 admin password
这是一个警告,它也会占用你的本地,但可能你已经禁用了警告,或者你正在使用不同版本的PHP . 由于你正在解析json,它将无法解析它,因为响应与警告混合在一起,所以它不是纯json格式 .
sizeof
采用实现Countable的数组或对象 . 通过使用以下方法检查变量是否为数组后,可以使用此函数:如果变量不是数组,则返回零 . 您也可以在 生产环境 时禁用警告 .