【发布时间】:2019-12-04 01:14:21
【问题描述】:
我的 PHP 脚本和 SSL 认证网站存在一些问题。 在我实现了一个安全的 https 协议之后,我的 PHP 会话似乎不再工作了。 我添加到 .htaccess 文件中,如下行所示
RewriteEngine On
RewriteCond %{HTTPS} !=on
RewriteRule ^ https://%{HTTP_HOST}%{REQUEST_URI} [L,R=301]
我的两个简单的网页和下面的脚本都不起作用。会话中的变量计数没有传递到第二页
session1.php
<?php
session_name("MySession"); // replace with whatever makes sense
session_start();
if (!isset($_SESSION['count'])) {
$_SESSION['count'] = 0;
} else {
$_SESSION['count']++;
}
echo ' the site was reviewed '.$_SESSION['count'].' times during this session';
$link_address = 'https://iampretty-studio.com/session2.php';
echo "<a href='".$link_address."'>session2.php</a>";
?>
session2.php
<?php
session_name("MySession"); // replace with whatever makes sense
session_start();
if (!isset($_SESSION['count'])) {
$_SESSION['count'] = 0;
} else {
$_SESSION['count']++;
}
echo 'The site was reviewed '.$_SESSION['count'].' times during this session';
$link_address = 'https://iampretty-studio.com/session1.php';
echo "<a href='".$link_address."'>session1.php</a>";
?>
它总是显示该网站被审查了 0 次。
我的问题是,有什么问题,我做错了什么? 在 SSL 认证之前,它可以正常工作。
【问题讨论】:
-
php 逻辑在我的服务器上使用 https 很好。只是想知道:如果您删除带有 session_name("MySession"); 的行会发生什么? ?
-
您的网站没有创建 cookie。你能从你的
php.inifile 中显示会话设置吗?您应该启用这些设置session.use_cookies=On和session.use_only_cookies=On -
当我用 session_name("MySession"); 删除行时一样的
-
好的,最后使用 phpinfo 和非常复杂的脚本我完成了这项工作,并且 session.use_cookies 是 1 session.use_only_cookies i 1 会话变量计数仍然 = 0
-
所以 cookie 也必须在 php.ini 中创建会话支持 prarameter = yes 那么我再次问的问题在哪里?
标签: php .htaccess session ssl https