我最近从PHP 5.3切换到5.4,现在我的会话无法正确保存。我收到错误,说会话文件夹的位置不存在但是当我检查我的phpinfo()时,它是正确的位置。此外,我很遗憾地使用godaddy进行托管,因此我无法访问我的php.ini文件。我已经在每个页面上声明了session_start(),我尝试将保存路径设置为其他内容并且摆脱了错误,但之后会话仍然没有保存。
这是其中一个错误。
警告:session_start():open(D:\ Temp \ php \ session \ sess_c6p2sphcn5m00g4ev48vfmj3h4,O_RDWR)失败:第4行的D:\ Hosting \ 12059488 \ html \ log.php中没有此类文件或目录(2)
答案 0 :(得分:0)
我还没有找到这个问题的答案,但这是我迄今所学到的:
在Godaddy共享主机中,您无法访问" D:\ Temp \ php \ session",这是PHP尝试用来存储其会话数据的默认位置。
您可以在自己目录的根目录中创建一个文件夹(例如tmp),对Web服务器进行写访问,并使其无法从Web(使用文件管理器)读取,然后在PHP代码中使用#34; session_start() ;"添加这样的东西:
session_save_path(" d:\主机\ 12059488 \ HTML \ TMP&#34);
如果您使用新的"虚拟主机"甚至可以提交此文件。计划(与#34; Classic"计划相反),因为Godaddy说这些新计划不支持会话和共享文件。