猿问

自己写框架的时候,发现session在框架开始的时候就开启了,但是后续的控制器里面就是无法写入和读取,什么原因

public static function run() {
		self::init ();
		// print_r(get_defined_constants());
		self::register_autoLoad ();
		self::loadImportantPages();
		
		/* print_r(get_defined_constants());
		die(); */
		
		// 载入配置文件
		$GLOBALS ['config'] = require CONFIG_PATH . 'config.php';
		
		
		// 开始生成对象并调用方法
		self::router ();
		
		//开启session
		session_start();	
	}
	

这个是框架的开始类,最后一步执行了session_start(),然后调用生成验证码的方法,发现session无法写入,不知道是什么原因,代码我放到网盘里面了,大神们帮帮我,头疼死了,不知道为什么

http://pan.baidu.com/s/1dD4pve5


feibenren
浏览 1595回答 2
2回答

pardon110

将session_start()放在run方法内的第一行就可以了。session的写入必须在session_start()之后。

pardon110

要使用基于 cookie 的会话,    必须在输出开始之前调用 session_start() 函数。  
随时随地看视频慕课网APP
我要回答