新LNMP环境,但是SESSION跨页面或者刷新 session丢失

唠叨:本地WAMP做了一个微信项目,一切OK,昨天需要在LINUX架设一套LNMP环境。但是,在架设代码的时候,登录总是不成功~~~

最终解决:权限

其实,作为一个程序猿,只要涉及到服务器内容,都应该非常了解权限的问题。但是,如何正确的配置权限,或者那个位置没有配置到权限,才是比较苦恼的。(所有文件夹,给予所有权限的忽略…………)

下面详细说下我的环境部署:

请注明出处,珍惜我们自己的劳动成功~谢谢。。。http://www.cnblogs.com/Mwsoft/p/4806741.html

1、NGINX 1.4、PHP 5.5、MYSQL5.6都是通过yum安装的

2、通过PHP.ini寻找session的保存路径

;session.save_path = "/tmp"

3、但是发现是被注释的,仔细阅读发现,在上面备注中,有关于PHP-FPM的介绍

; RPM note : session directory must be owned by process owner
; for mod_php, see /etc/httpd/conf.d/php.conf
; for php-fpm, see /etc/php-fpm.d/*conf
;session.save_path = "/tmp"

for php-fpm, see /etc/php-fpm.d/*conf , 好吧,虽然我英文不怎么好,但是see(看),我看是懂得。

4、#vi /etc/php-fpm.d/www.conf

; Set session path to a directory owned by process user
php_value[session.save_handler] = files
php_value[session.save_path]    = /var/lib/php/session
php_value[soap.wsdl_cache_dir]  = /var/lib/php/wsdlcache

说明我们的Session存在/var/lib/php/session

5、查看下这个目录吧(我们要看这个目录的权限配置,当然是要看他的父级目录了)

#ll /var/lib/php/

drwxrwx--- 2 root apache 4096 Sep 14 11:25 session
drwxrwx--- 2 root apache 4096 Sep  4 14:56 wsdlcache

瞬间找到问题了

APACHE,我们的web服务器用的是NGINX,通过yum安装时,web服务器是给自己分配一个NGINX账号和NGINX组,但是PHP,确实把自己分配到了APACHE组。你让NGINX去运行APACHE组的东西???

6、解决办法:

第一种(懒人专用):#chmod 777 /var/lib/php/session

解释:9个- ,前三个是当前用户,中间3个是组,后3个是其他,

第二种(稍微麻烦一些):让他们属于同一个组,可以创建一个www组,然后把nginx和php,都放进去………………具体参考创建用户命令和创建组命令。。谢谢

请注明出处,珍惜我们自己的劳动成功~谢谢。。。http://www.cnblogs.com/Mwsoft/p/4806741.html

时间: 2024-07-31 22:04:51

新LNMP环境,但是SESSION跨页面或者刷新 session丢失的相关文章

springmvc 在前端jsp页面,select标签显示复合条件。和 session跨页面操作。

在jsp的select标签中,显示一个级联且带有复合查询的结果的select标签. 方法是,在这个类中,定义一个字段,extend,然后把他的get属性,重写为需要的业务 如下 private String extend; public String getExtend() { return this.zhouyiIndex.getName() + "卦 "+this.yaoId+"爻:"+this.yaoContent.substring(0,this.yaoCo

php session跨页面传递 session值丢失问题之完美解决

今天想用一个session来实现用户登录判断,也算是对之前session的探究,查了下资料session的运行机制如下: session是服务器端的一种会话机制,当客户端的请求服务器创建一个session时,服务器会先检测该请求里面是否包含一个惟一的sessionID,如果是,说明服务器已经为该用户创建过session,只要按照该sesionID检索出该用户的session供用户使用,如果没有sessionID,服务器会为该用户新建一个带有唯一表示服sessionID的session.创建完成后

php session跨页面传递 session值丢失问题

1.session_start();应该尽量放置到页面的顶部: 2.如果php.ini里面没有配置 session Autostart的话,每次会话之前,都得手动开启session:session_start(); 3.session是php里面的超全局变量,跟$_GET,$_POST,$_SERVER一样,所以使用的时候必须大写:$_SESSION['username']=$username; 4.跨页面传递示例:a.php页面传递$_SESSION['username']到b.php: a.

php利用session防止页面重复刷新

如何防止页面重复刷新,在php环境下可以利用session来轻松实现. b.php的代码 <?php //只能通过post方式访问 if ($_SERVER['REQUEST_METHOD'] == 'GET') {header('HTTP/1.1 404 Not Found'); die('亲,页面不存在');} session_start(); $fs1=$_POST['a']; $fs2=$_POST['b']; //防刷新时间,单位为秒 $allowTime = 30; //读取访客ip

session生命与跨域跨页面---小疑惑大难题(php)

session跨页面后session消失? session的存储要注意的点: 以文件的形式存储在服务器端. 生命周期有限,根据不同的服务器类型确定. 存储内容为序列化字符串 session文件存储的内容格式如下: 从图片中我们可以读出一些session信息:例如 存在一个session为error,其值为空:还存在一个session为:step,其值为0,等等信息. 现在我们已经知道session的原理机制,那么,要使session可以跨页面调取,必须满足一下几个条件: 1.开启session.

解决LNMP环境无法显示所有WordPress主题及无法编辑主题页面

解决方法: 第一.编辑/usr/local/php/etc/php.ini文件 第二.找到disable_functions这一行中,删除"scandir,"这一段脚本,然后保存这个文件退出 (lnmp环境包大概在303行) 第三.运行 /etc/init.d/php-fpm restart 命令,重启PHP-FPM 这个时候,我们再刷新WORDPRESS网站后台主题列表页面,可以看到当前的所有主题都在,我们可以启用需要的主题,也可以任意的编辑当前启用主题的页面内容.

php SESSION 不能跨页面传递

今天想用一个session来实现用户登录判断,也算是对之前session的探究,查了下资料session的运行机制如下: session是服务器端的一种会话机制,当客户端的请求服务器创建一个session时,服务器会先检测该请求里面是否包含一个惟一的 sessionID,如果是,说明服务器已经为该用户创建过session,只要按照该sesionID检索出该用户的session供用户使用,如果没 有sessionID,服务器会为该用户新建一个带有唯一表示服sessionID的session.创建完

11月7日上午PHP会话控制(session和cookie)、跨页面传值

1.session  登录上一个页面以后,长时间没有操作,刷新页面以后需要重新登录. 特点:(1)session是存储在服务器:   (2)session每个人(登陆者)存一份: (3)session有默认的过期时间:(如果登录的人过多,数据就会太多,由于存储在服务器,会给服务器造成压力,过一定的时间会清除掉) (4)session里面可以存储任意类型的数据. 由以上特点可以总结出session的特点是比较安全.缺点是对服务器造成一定的压力. (5)当一个页面需要使用session时,需要在页面

会话控制(session和cookie)、跨页面传值

1.session  登录上一个页面以后,长时间没有操作,刷新页面以后需要重新登录. 特点:(1)session是存储在服务器:   (2)session每个人(登陆者)存一份: (3)session有默认的过期时间:(如果登录的人过多,数据就会太多,由于存储在服务器,会给服务器造成压力,过一定的时间会清除掉) (4)session里面可以存储任意类型的数据. 由以上特点可以总结出session的特点是比较安全.缺点是对服务器造成一定的压力. (5)当一个页面需要使用session时,需要在页面