这个错误是由于session_start引起的

时间:2012-01-30 10:49:17

标签: php session

我的托管给我发了电子邮件说

I have set the session.save_path = /home/users/web/b1475/moo.youraccount/cgi-bin/tmp for your account

然后我发现我的网站给了我这个错误

Warning: session_start() [function.session-start]: open(/home/users/web/b1475/moo.youraccount/cgi-bin/tmp/sess_718a8cd346244df6916f016eb315f19f, O_RDWR) failed: No such file or directory (2) in /hermes/waloraweb006/b1475/moo.youraccount/db.php on line 4

和db.php代码是(它是数据库连接文件)

<?PHP
$conn = mysql_connect($host, $user, $pass);
if ($conn) mysql_select_db($db, $conn);
session_start();
?>

然后我该怎么做才能解决这个错误:(

1 个答案:

答案 0 :(得分:2)

更改托管公司。

无法会话路径应该在cgi目录中。将它放在文档根目录中的任何位置都是非常危险的。

devDrew可能是正确的,路径也是坏的 - 在这种情况下,会话根本不起作用。您也可能使用旧的/过期的会话ID - 当您尝试建立新会话时是否会重复出现?

如果你的提供商在这里犯了这样的基本错误,你可以通过使用database session handler来避免这种肮脏(包括修复权限/目录错误并避免潜在的代码注入后门),那么他们就会也可以在其他地方制作。