PHP会话不适用于IIS 7.5

时间:2015-10-30 15:26:35

标签: php session iis

我有一个IIS服务器,其中有多个虚拟主机从默认站点运行,这些主机都使用PHP并每天创建登录会话。

我最近在IIS中添加了一个新站点(新域),我在此站点中放置的虚拟目录无法创建PHP会话。我尝试了以下基本测试,它在默认网站中有效。

<img src="@Url.Content(string.Format("~/Content/img/{0}", Resources.MyImage))" />

所以我加载页面来存储会话值然后注释掉第二行并再次加载我得到..

session_start();
$_SESSION['test'] = 'my_test_value';
echo $_SESSION['test'];

我是否错误地配置了网站,或者我是否需要在PHP中启用某些内容,就像我说默认网站创建会话没有问题,这是我第一次向IIS添加第二个网站所以我有点一个新手。

2 个答案:

答案 0 :(得分:0)

在早期版本的PHP 5.3中,使用session_register。

session_start()
session_register('test');
$_SESSION['test'] = 'my_test_value';

echo $_SESSION['test'];

不推荐使用Session_Register()。

但你应该检查变量是否存在于isset()

实施例: 在session_start();

if(isset($_SESSION['test']) && !empty($_SESSION['test'])){
    /* echo $_SESSION['test'] */
}

答案 1 :(得分:0)

我通过安装PHP 5.6的实例并将新站点指向新的PHP实例并将旧站点指向5.3来解决此问题