【问题标题】:session_start() not working on xamppsession_start() 不适用于 xampp
【发布时间】:2016-03-03 12:38:10
【问题描述】:

我正在尝试使用 session_start() 函数启动会话。我正在使用xampp的服务器。但是每当我包含此代码时,页面都不会加载。如果我删除此代码,页面将完美加载。 xampp有问题吗? 这是放置在文件最开头的代码,在 php 标记之前没有任何空格。

<?php
// Start the session
session_start();
?>

有人可以帮我吗?

这是 Apache 日志所说的:

[Fri Mar 04 19:13:09.822907 2016] [mpm_winnt:notice] [pid 5444:tid 508] AH00428: Parent: child process 7200 exited with status 3221225477 -- Restarting.
[Fri Mar 04 19:13:10.738482 2016] [ssl:warn] [pid 5444:tid 508] AH01909: www.example.com:443:0 server certificate does NOT include an ID which matches the server name
[Fri Mar 04 19:13:10.800485 2016] [mpm_winnt:notice] [pid 5444:tid 508] AH00455: Apache/2.4.18 (Win32) OpenSSL/1.0.2e PHP/7.0.0 configured -- resuming normal operations
[Fri Mar 04 19:13:10.800485 2016] [mpm_winnt:notice] [pid 5444:tid 508] AH00456: Apache Lounge VC14 Server built: Dec  9 2015 10:17:39
[Fri Mar 04 19:13:10.800485 2016] [core:notice] [pid 5444:tid 508] AH00094: Command line: 'c:\\xampp\\apache\\bin\\httpd.exe -d C:/xampp/apache'
[Fri Mar 04 19:13:10.805024 2016] [mpm_winnt:notice] [pid 5444:tid 508] AH00418: Parent: Created child process 5404
[Fri Mar 04 19:13:12.067176 2016] [ssl:warn] [pid 5404:tid 532] AH01909: www.example.com:443:0 server certificate does NOT include an ID which matches the server name
[Fri Mar 04 19:13:12.337492 2016] [ssl:warn] [pid 5404:tid 532] AH01909: www.example.com:443:0 server certificate does NOT include an ID which matches the server name
[Fri Mar 04 19:13:12.400429 2016] [mpm_winnt:notice] [pid 5404:tid 532] AH00354: Child: Starting 150 worker threads.

【问题讨论】:

  • 错误是什么?使用error_reporting(E_ALL) 并发布错误
  • 在您的 php.ini 文件中添加 session.autostart = On
  • 还要检查 session.use_cookies=1
  • “500 内部服务器错误”状态码(或空白页)表示您的脚本正在抛出错误,但您尚未配置 PHP 以显示错误消息。这是您在更进一步之前需要解决的问题;如果没有错误消息的帮助,就不可能正确编码。这是brief explanation。错误报告的经验法则是:在开发中显示,在生产中登录。

标签: javascript php html web


【解决方案1】:

是xampp的问题。

尝试更改 xampp 的版本,它会工作。

其实xampp有bug尝试安装老版本的xampp或者使用wampp。

或者试试这个

检查 php.ini 文件 (xampp/php/php.ini)

session.save_path 

存在且可由运行 PHP 的用户写入。

【讨论】:

  • 不是xampp的问题,是配置的问题。我几乎可以肯定他没有权限将会话保存在默认位置,但这只是熟悉配置文件和手册的问题。
【解决方案2】:

尝试删除评论部分,不要放任何空格:

<?php
  session_start();
?>

【讨论】:

    【解决方案3】:

    问题的最可能原因是您将会话保存到默认文件夹,xampp 安装在默认文件夹中,而配置文件中的 session.save_path 可能指向 session.save_path="C:\xampp\tmp"

    在 C:\ 上安装 xampp 不是一个好主意,重新安装或编辑配置,将 session.save_path 更改为其他位置。

    Session_start failing because lack of permissions

    编辑。

    您的会话正在运行。创建新的 .php 文件以确保它。里面只放以下代码,仅此而已:

    <?php
    session_start();
    $_SESSION["qwerty"] = "123456" ;
    echo $_SESSION["qwerty"];
    ?>
    

    回显是否返回 123456?

    【讨论】:

    • 我将 php.ini 文件中的默认路径替换为“C:\xampp\tmp”,但仍然没有帮助。
    • 最好是重新安装 xampp 并将其安装在 C:\ 之外,最好是不同的分区,如 D:\。如果您有权限问题,但目前您甚至不知道您的问题是什么,这将解决它。 apache 错误日志是怎么说的?
    • 我在问题中添加了apache错误日志,请检查。
    • 你在 tmp 文件夹中有任何文件吗? php错误日志呢?
    • 是的,我里面有一些文件。
    【解决方案4】:

    我有同样的问题。在 php.imi 选项“session.use_only_cookies”设置为 0,当我将其更改为 1 时一切正常

    【讨论】:

      猜你喜欢
      • 2016-05-02
      • 2011-03-04
      • 2011-10-01
      • 2013-03-09
      • 2013-10-20
      • 1970-01-01
      • 2018-10-06
      • 2020-01-04
      • 1970-01-01
      相关资源
      最近更新 更多