代码之家  ›  专栏  ›  技术社区  ›  Moon

PHP会话警告:要做什么[复制]

  •  0
  • Moon  · 技术社区  · 14 年前
    Warning: session_start() [function.session-start]: Cannot send session cookie - headers already sent by (output started at /home/moonpk/public_html/wallz/preview.php:16) in /home/moonpk/public_html/wallz/loginbox.php on line 2
    
     Warning: session_start() [function.session-start]: Cannot send session cache limiter - headers already sent (output started at /home/moonpk/public_html/wallz/preview.php:16) in /home/moonpk/public_html/wallz/loginbox.php on line 2
    

    我得到这两个警告,我没有得到本地服务器。。。为什么?

    5 回复  |  直到 14 年前
        1
  •  1
  •   seriyPS    14 年前

    因为本地服务器上的错误报告级别较低,所以无法在本地服务器上获取它们。所以,你需要:

    1. 在本地服务器上编辑php.ini并将error_reporting设置为E_ALL
    2. 移动你 session_start() 在你们16号线前打电话 /home/moonpk/public_html/wallz/preview.php 文件
        2
  •  2
  •   eykanal    14 年前

    请参阅 php session_start() 第页。 session_start() 将cookies发送到浏览器,并且服务器在发送任何数据之后不会发送任何其他数据(包括cookies)。可以通过确保没有任何内容发送到浏览器(例如 echo() var_dump() 呼叫)呼叫前 会话启动() .

        3
  •  1
  •   Martin Schapendonk    14 年前

    很可能在执行session_start()之前加载的文件中的任何PHP标记外都有一些空格。也许你的FTP客户端把事情搞砸了?

        4
  •  0
  •   Gazler    14 年前

    您的本地服务器上可能隐藏了警告?问题是,在调用会话启动之前,您有一些输出。根据行号判断,我猜您在打开php标记之前有一个换行符,但是如果没有看到代码,就无法提供完整的解决方案。

        5
  •  -1
  •   Elliott    14 年前

    如果您在“loginbox.php”中包含页面“preview.php”,请检查您在一个页面上只调用了一次session\u start。

    在preview.php或loginbox.php上,而不是同时在两者上。