Codeigniter无法在IIS中工作

时间:2015-04-11 21:56:59

标签: php codeigniter session iis autoloader

好的,我有一个codeigniter应用程序。它在localhost中工作正常,在我得到的PHP托管中工作正常。但我的客户希望它在IIS中运行。我已经通过web.config陷阱,但现在我收到以下错误:

  

遇到未捕获的异常

     

类型:异常

     

消息:会话:配置的保存路径'c:\ windows \ temp'不是   可以通过PHP进程编写。

     

文件名:   E:\家\ emconexao.com \ site3 \系统\图书馆\会议\ DRIVERS \ Session_files_driver.php

     

行号:124

我知道这是一个PHP配置问题,但在哪里?

在我的application / config / autoload.php文件中,如果我从库中删除session它可以工作......直到我登录该站点,显然它无法生成会话并且崩溃......

任何人都可以帮助我吗?

6 个答案:

答案 0 :(得分:6)

这是一个对我有用的修复:

  • 打开php.ini
  • 设置:session.save_path = C:\ inetpub \ temp \ sessions
  • 创建C:\ inetpub \ temp \ sessions并提供IUSR和NETWORK SERVICE (或任何应用程序池的身份)完整权利。
  • 保存php.ini

这是一个很好的参考:http://forums.iis.net/post/1735092.aspx

答案 1 :(得分:2)

给config.php

AppCompatActivity

答案 2 :(得分:0)

这对我有用,在httpdocs中的某些地方.user.ini上进行了更改,在那里键入session.save_path ='C:\ your dir'然后在config.php中将session.save_path ='null'更改为上面的dir并在php设置上进行相同的更改,将session.save_path设置为上面的dir

答案 3 :(得分:0)

1= create file .user.ini
2= copy this code and edit
[PHP]
open_basedir=""
safe_mode=off
sendmail_from=noreply@secureserver.net
SMTP=relay-hosting.secureserver.net
session.save_path=server drive:\PleskVhosts\your main domain.com\yout sub domain name/tmp;

    enter code here

example

[PHP]
open_basedir=""
safe_mode=off
sendmail_from=noreply@secureserver.net
SMTP=relay-hosting.secureserver.net
session.save_path=G:\PleskVhosts\gfor.com\onlineshope.org\tmp;

答案 4 :(得分:0)

在'/ application / chache'和config.php更改下创建文件夹会话

$config['sess_save_path'] = NULL;

$config['sess_save_path'] = FCPATH . 'application/cache/sessions/';

并更改文件权限

https://www.wikihow.com/Change-File-Permissions-on-Windows-7

答案 5 :(得分:-2)

由于托管服务,我无法使用'files'来存储会话,而是在config.php上更改为'database'选项,并使用codeigniter上的模型创建了一个ci_sessions表。这里有帮助我的链接:

http://www.codeigniter.com/userguide3/libraries/sessions.html#database-driver