我在session中保存 连接邮箱服务器的句柄 在当前页面可以用  跳转到另外一张页面就没有用了
报错 Warning: fputs(): supplied argument is not a valid stream resourceindex.php
<?php
$f=fsockopen('ssl://imap.gmail.com', '993', $errno, $errstr, 10);
session_start();
$_SESSION['fff']=$f;
echo "<meta http-equiv=refresh content='0; url=http://localhost/index2.php'>"; 
?>index2.php<?phpsession_start();
$f=$_SESSION['fff'];
iil_PutLine($f, "a000 AUTHENTICATE CRAM-MD5");function iil_PutLine($fp, $string, $endln=true) {
return fputs($fp, $string . ($endln ? "\r\n" : ''));
}?>

解决方案 »

  1.   

    session_start();之后,session又重新开始了,
    删掉它就可以。
      

  2.   

    我看这个不是因为session_start的问题,毕竟你不用session_start怎么进入session环境呢?我看这个问题在于$f的内容不是可放入session中的内容,因为错误提示是:supplied argument is not a valid stream resource ,也就是说:session中的内容必须是可流化的。我给你几个建议,不一定有用:1. 尝试serialize($f)看能不能将$f序列化;或者json_encode;总之要将$f变成一个流;
    2. 还可以结合Base64Encode将$f或者序列化后的$f进行Base64解码。不过,我的感觉是,这样恐怕还是不行………………
      

  3.   

    serialize 不能处理resource类型
    session同理也不能保存resource类型.所以,你的思路是不正确的.
      

  4.   

    As resource types hold special handlers to opened files, database connections, image canvas areas and the like, you cannot convert any value to a resource. 
      

  5.   

    <?phpsession_start();
    改成<?php
    session_start();中间不要有空格,而且要从第一行开始写,试试
    可以的话给我加分,急需