2013-01-03 48 views
1

我想在我的服务器的PHP的session_start产生警告

<?php 
session_start(); 
?> 

我得到以下警告消息运行这段代码。我从来没有见过这样的警告。

Warning: session_start() [function.session-start]: open(/var/chroot/home/content/00/6684400/tmp/sess_uoouukt8m6efc0nc2ar5t2vq94, O_RDWR) failed: No such file or directory (2) in /home/content/00/6684400/html/html-tweetcomments/y.php on line 2 

Warning: session_start() [function.session-start]: Cannot send session cookie - headers already sent by (output started at /home/content/00/6684400/html/html-tweetcomments/y.php:2) in /home/content/00/6684400/html/html-tweetcomments/y.php on line 2 

Warning: session_start() [function.session-start]: Cannot send session cache limiter - headers already sent (output started at /home/content/00/6684400/html/html-tweetcomments/y.php:2) in /home/content/00/6684400/html/html-tweetcomments/y.php on line 2 

Warning: Unknown: open(/var/chroot/home/content/00/6684400/tmp/sess_uoouukt8m6efc0nc2ar5t2vq94, O_RDWR) failed: No such file or directory (2) in Unknown on line 0 

Warning: Unknown: Failed to write session data (files). Please verify that the current setting of session.save_path is correct() in Unknown on line 0 

我该如何解决这个问题?

回答

2

确认,文件夹/var/chroot/home/content/00/6684400/tmp存在和PHP

是可写的
sudo mkdir -p /var/chroot/home/content/00/6684400/tmp/ 
sudo chmod 1777 /var/chroot/home/content/00/6684400/tmp/ 

session_start()设置一个包含会话ID的cookie。在HTTP协议中,Cookie在HTTP标头Set-Cookie中发送。

如果您发送任何输出(包括PHP警告),则会将其写入HTTP答案主体,PHP不再能够发送标题。

为了确保HTTP响应正文写在最后,您可以在PHP脚本的开头添加ob_start()

这会创建一个输出缓冲区,当脚本到达结尾时它将自动刷新输出。

参考

2

权限问题。

检查tmp文件夹权限。使其可写。

Failed to write session data (files). 

此外,检查有前session_start()

1

Warning: session_start() [function.session-start]: Cannot send session cookie - headers already sent by (output started at /home/content/00/6684400/html/html-tweetcomments/y.php:2) in /home/content/00/6684400/html/html-tweetcomments/y.php on line 2

东西没有HTML或空白您在session_start调用之前正在打印。检查任何回音或HTML甚至任何空格,您的通话之前

1

线索是第一个错误:

open(/var/chroot/home/content/00/6684400/tmp/sess_uoouukt8m6efc0nc2ar5t2vq94, O_RDWR) 
failed: No such file or directory (2) 

它看起来就像是正在为会议文件中引用要么不目录存在或不可由Web用户(运行Web服务器的用户)写入。

  • 检查目录是否存在 - 如果没有,则创建它。
  • 确保它可以由Web服务器用户组写入。

第一个错误是导致其余的错误;

0

如果有PHP代码之前相同的输出,PHP代码后移动它示例:

<script> 
...javascript code... 
</script> 
<?php 
session_start(); 
?> 

将脚本标记移到php标记后面。像这样:

<?php 
session_start(); 
?> 
<script> 
...javascript code... 
</script> 
相关问题