- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
使用 PHP 作为 FastCGI 运行 Apache。
serverinfo.php :
if (isset($_GET['session'])) {
session_id($_GET['session']);
session_start();
die('You got here');
}
if($update) {
$serverinfo = file_get_contents('http://127.0.0.1/serverinfo.php?session=' . session_id() . '&name=' . $_GET['name']);
print $serverinfo;
}
127.0.0.1 - - [15/Feb/2012:11:03:15 +0100] "GET update.php?source=serverinfo&name=test HTTP/1.1" 500 544
127.0.0.1 - - [15/Feb/2012:11:03:15 +0100] "GET serverinfo.php?session=<session_id>&name=test HTTP/1.0" 500 544
[Wed Feb 15 11:03:55 2012] [warn] [client 127.0.0.1] mod_fcgid: read timeout from pipe
[Wed Feb 15 11:03:55 2012] [error] [client 127.0.0.1] Premature end of script headers: serverinfo.php
[Wed Feb 15 11:04:04 2012] [warn] mod_fcgid: process 5584 graceful kill fail, sending SIGKILL
最佳答案
好的,从字里行间看,我想我知道这里发生了什么。
与你所确定的相反,我想你会发现它实际上是session_start()
即挂起,500错误的原因是时间限制最终到期。
原因session_start()
挂了是因为update.php
仍然锁定 session 文件。当您打开 session 时,文件被打开它的脚本锁定。您可以通过使用 session_write_close()
关闭 session 数据来释放此锁。 - 但这可能不是你想要在这里做的。
我会说你想做的就是你所建议的,而include 'serverinfo.php';
而不是通过 HTTP 调用它。这会更有效率 - include
与 HTTP 请求相比,它的工作量要少得多 - 它将解决 session 问题。您不需要“通过”$_GET
至 serverinfo.php
有两个原因:
$_GET
是 superglobal .它在执行给定脚本的每个可能范围内自动可用。 $_GET
不是超全局的,它仍然可以在包含的文件中使用,因为它在包含文件的范围内可用。 $_SESSION
具有与
$_GET
相同的超全局属性.
if ($update) {
include 'serverinfo.php';
}
die('You got here');
// $_GET['name'] has the same value here as it does in update.php
// Similarly, all the $_SESSION data is automatically available here
关于PHP - session_id() 给了我 HTTP/1.1 500 内部服务器错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9291750/
是否有任何特别的理由来使用其中一个?我个人倾向于使用后者,因为它似乎更适合我。 最佳答案 它们做同样的事情, 关于php - 和 的区别,我们在Stack Overflow上找到一个类似的问题:
我一直在尝试在我的网站上查找 session ID,以便可以使用它来查询我的 MySQL 数据库,但我不断收到错误“ undefined variable :_SESSION in...” 这是我的代
我在 session 方面遇到了一些困难。 在我的本地 MAMP 测试服务器上,如果我这样做: session 开始();echo session_id( ); 我得到一个漂亮的 session ID
我无法理解下面的代码,我不知道我们什么时候在 session_start() 之前使用 session_id() 。 我要你解释一下!不只是复制 php.net 的描述! 另一方面,session_
我在使用 session_id() 时遇到问题,它每次在浏览器刷新/重新启动时都会返回一个新值。 阅读这篇文章 here但这并没有解决问题。我做了那里提到的所有事情 - 浏览器接受 cookie,权限
我使用 session_id 作为数据库中的 ID 列。还有一个名为“Sections”的列,其中添加了整个 xml。 xml 包含部分名称和用户在其中花费的时间。我想更新相同 session_ids
我应该在关系数据库课上多加注意,所以我需要一些帮助。 我有一个结构如下的表(还有更多,但我只发布相关信息): +------------------+-------------+------+----
我正在使用 JavaScript 发送 session_id。 session_id 在页面源中可见,例如: function startUpload(id){ var queryString
我正在开发一个在线机票预订系统,在成功预订(付款后)后,我想清除 session ID。但问题是我无法清除它,尽管我使用了 session_destroy() 来销毁 session 。 注意:我已经
我在云中“托管”的两个 Ubuntu Server VM 上使用 PHP 5.4.9,Windows Azure 和 Magento Enterprise 位于许多不同的域/子域下,这意味着有大量页面
我的生产服务器上出现了一个奇怪的情况。但是,在我本地的开发环境中这不是问题。这是一个测试脚本,我可以用它来重现问题: 如果我在浏览器中加载此页面并刷新页面 (CTRL+R),我每次都会
我尝试实现购物车。我将 session_id 存储在数据库中,以及购物车上的相关产品。登录后,我希望拥有相同的 session ,并且能够通过访问 session_id 将这些产品与用户连接起来。但是
我正在尝试在 python 3 上生成安全的 session_id。 首先,我只是生成时间戳的md5哈希值(包括微秒),然后通过cookie写入该值。但这种方法可能会被劫持。例如,从浏览器A的cook
无法在 PHP SESSIONS 中获取所有 session_id 的列表吗? 注意:我需要在服务器中维护一些文件。一个文件等于一个 session 。如果 SESSION 过期,我需要确定旧文件的行
我正在构建一个网络应用程序,用户可以上传某些文件并通过网络应用程序界面处理这些文件。我需要在用户 session 期间存储这些文件。我正在使用 session_id 作为文件夹名称为每个用户创建一个文
我的应用程序中有一些基本的 session 处理。在每个页面中,我检查用户是否已登录。如果已登录,则他们已被 $_SESSION['user_id'] 识别,并且他们的登录/注销记录在 MySQL 表
这个问题在这里已经有了答案: 关闭 10 年前。 Possible Duplicate: (PHP) How to destroy the session cookie correctly? 我正在
session_id($randomString) 和 session_regenerate_id() 之间有什么明显区别?两者似乎都改变了 session ID: session_regenerat
在标准 PHP 中,我可以通过以下方式设置 session ID: $my_session_id = $_GET['session_id']; //gets the session ID succes
我有一个 session_id,用于识别购物篮类型应用程序中的用户。 session_id 作为 session id 存储在数据库中。 当我更新购物车时,session_id、product_id
我是一名优秀的程序员,十分优秀!