Php CodeIgniter项目给出303/压缩错误
试图为本地开发(LAMP堆栈)设置基于CodeIgniter的项目,并且一旦更新了所有配置文件(这意味着我成功地为CodeIgniter设置了有意义的引导错误),我在浏览器中会遇到以下错误:Php CodeIgniter项目给出303/压缩错误,php,apache,codeigniter,Php,Apache,Codeigniter,试图为本地开发(LAMP堆栈)设置基于CodeIgniter的项目,并且一旦更新了所有配置文件(这意味着我成功地为CodeIgniter设置了有意义的引导错误),我在浏览器中会遇到以下错误: 铬 错误330(网络::错误内容解码失败):未知错误。 火狐 内容编码错误:无法显示您试图查看的页面,因为它使用了无效或不受支持的压缩形式。 只需使用wget获取文件就可以了,没有错误,而且我得到了我期望的内容。不确定这是否与CI和服务器有关,或者只是与项目有关以前有人见过吗?CodeIgniter似乎
- 铬 错误330(网络::错误内容解码失败):未知错误。
- 火狐 内容编码错误:无法显示您试图查看的页面,因为它使用了无效或不受支持的压缩形式。
只需使用wget获取文件就可以了,没有错误,而且我得到了我期望的内容。不确定这是否与CI和服务器有关,或者只是与项目有关以前有人见过吗?CodeIgniter似乎有自己的gzip输出方法(为什么,我不知道,但我对CI不太熟悉。) 根据,当PHP错误消息使压缩内容出错时,可能会发生这种错误。将错误报告调整到
E\u ALL^E\u NOTICE
就达到了目的
更新:似乎还有一个CI配置设置:
$config['compress_output'] = FALSE;
对于IIS用户,检查PHP管理器日志中的错误将非常有用
对我来说,错误是文件写入权限被拒绝。必须授予必要的权限。不确定我的评论在这里是否有价值,但我有一个类似的问题想与大家分享,谁知道它可能会对你们中的一些人有所帮助 对于我的项目,我已在CI配置文件中激活了GZIP:
$config['compress_output'] = TRUE;
在配置文件中,可以很好地说:
| Enables Gzip output compression for faster page loads. When enabled,
| the output class will test whether your server supports Gzip.
| Even if it does, however, not all browsers support compression
| so enable only if you are reasonably sure your visitors can handle it.
|
| VERY IMPORTANT: If you are getting a blank page when compression is enabled it
| means you are prematurely outputting something to your browser. It could
| even be a line of whitespace at the end of one of your scripts. For
| compression to work, nothing can be sent before the output buffer is called
| by the output class. Do not 'echo' any values with compression enabled.
|
*/
“在启用压缩的情况下不要‘回显’任何值”在这里非常重要
但是,我的函数需要为我的Ajax调用回显一个json编码的数组
为了解决这个问题,我在“echo”之后添加了“exit”函数
echo json_encode($arr_ajaxResults);
exit();
现在,有了这个输入,我不再面临“内容编码”错误
我希望它能帮助有同样问题的人。我的解决方案是:
文本编辑器通常使用ascii编码,我使用notepad++打开文件,并将页面编码更改为:
utf-8,不带BOM
。现在页面运行良好。没有+15个字符;我来看看这个-为什么,为什么框架会做这样的事情?配置设置非常有效。如果web服务器能够以某种标准方式压缩响应,这种方式可以与任何浏览器兼容并向后兼容,那该多好啊。