我使用
时遇到502错误的网关错误$this->session->set_flashdata('message', 'Profile updated.');
我在nginx上使用CodeIgniter。代码在localloast(WAMP)上运行良好。如果我注释掉行,应用程序运行正常。
任何帮助将不胜感激。
答案 0 :(得分:1)
将“use_database”设置为TRUE
答案 1 :(得分:1)
我弄清楚出了什么问题。首先,一位拥有更多服务器知识的同事向我解释说,我的设置可能是nginx接收到所有请求,然后直接提供静态文件。对于非静态请求,它将工作传递给apache,并充当中介。因此,当apache尝试向nginx发送数据时(或者当nginx尝试向apache发送信息时)可能出现了问题。
由于我之前从未使用过nginx,我也没想过检查nginx日志文件。并且我可以使用错误:
[错误] 27453#0:* 9223上游在从上游读取响应头时发送了太大的头,客户端:
我最终应用了这个其他堆栈溢出解决方案的第一位:
将此添加到通常位于
的nginx.conf文件中
代码:
/etc/nginx/nginx.conf:
proxy_buffer_size 128k;
proxy_buffers 4 256k;
proxy_busy_buffers_size 256k;
顺便说一下,它应该添加到文件的http部分。这就是解决方案中缺少的东西。
参考:
https://forum.codeigniter.com/archive/index.php?thread-59675.html
答案 2 :(得分:0)
来自@sasho的回答
$ config [' sess_use_database'] = TRUE;
通过更改为数据库,您可以将会话数据移动到数据库表中,以避免与权限相关的问题。在这里试试并回复。
https://www.codeigniter.com/user_guide/libraries/sessions.html
您可以从官方文档中查看数据库驱动程序部分,以避免出现这类错误。