PHP 脚本可在一个站点上运行,但不能在同一台服务器上运行
Posted
技术标签:
【中文标题】PHP 脚本可在一个站点上运行,但不能在同一台服务器上运行【英文标题】:PHP Script works on one site but not other, same server 【发布时间】:2021-11-05 06:58:16 【问题描述】:������个 cPanel ���������个� site1.com��们使�� cPanel ���������建������������们����建����������� cPanel �������������site2.com������没�������� site1.com ���
��已����缩��� EditPage.php 中�第 18 ��
header("Location: Login.php?Page=$PageToEdit");
���以����������������������site1.com��� cPanel 中���PHP7.4 PHP-FPM����site2.com��PHP7.4�没������ PHP-FPM��� cPanel 中���� ��������������为���������� ���������为����������没������������以请� ��谢谢�
SERVER:
cPanel Version 98.0 (build 6) -
Apache Version 2.4.48 -
PHP Version 7.4.22 -
mysql Version 10.3.31-MariaDB - Architecture x86_64 -
Operating System linux -
Kernel Version 3.10.0-1062.1.1.el7.x86_64
失败� PHP ����
// (A) START SESSION
session_start();
// (B) LOGOUT REQUEST
if (isset($_POST['logout'])) unset($_SESSION['user']);
// (C) REDIRECT TO LOGIN PAGE IF NOT LOGGED IN
if (!isset($_SESSION['user']))
header("Location: Login.php?Page=$PageToEdit");
die();
����讨论��
���究������起��� - ����你�����误����� 没��误�����������页��个����这是因为会话没有被破坏。我们可以使用这些函数取消设置会话。
session_destroy();
$_SESSION = [];
现在它可以工作了。你的代码应该是这样的
// (A) START SESSION
session_start();
// (B) LOGOUT REQUEST
if (isset($_POST['logout'])) unset($_SESSION['user']);
session_destroy(); $_SESSION = [];
// (C) REDIRECT TO LOGIN PAGE IF NOT LOGGED IN
if (!isset($_SESSION['user']))
header("Location: Login.php?Page=".$PageToEdit);
die();
【讨论】:
OK 现在至少我们得到一个错误:警告:session_start():当第 13 行的 /domain.com/code/system/library/EditPage.php 中的标头已发送时无法启动会话警告:无法修改标头信息 - 标头已由 /home/domain/public_html/domain.com/code/system/library/EditPage 中的(从 /domain.com/code/system/library/EditPage.php:1 开始的输出)发送。第21行的php 现在你在一个页面或文件中使用了 session_start() 函数两次。 这是我所做的code
// (A) 开始会话 //session_start(); // (B) 注销请求 if (isset($_POST['logout'])) unset($_SESSION['user']); session_destroy(); $_SESSION = []; // (C) 如果未登录则重定向到登录页面 if (!isset($_SESSION['user'])) header("Location: Login.php?Page=".$PageToEdit);死();
GET:警告:无法修改标头信息 - 标头已由 /home//public_html/domain.com/code/system/library/EditPage.php:1 中的 /home 发送/smldesign/public_html/domain.com/code/system/library/EditPage.php 第 21 行
已修复!从 Login.php 中删除了头文件 感谢 Mudassar!以上是关于PHP 脚本可在一个站点上运行,但不能在同一台服务器上运行的主要内容,如果未能解决你的问题,请参考以下文章
如何使用 docker 和 nginx 在同一台服务器上运行多个站点?
IIS 页面可在 LAN 中远程访问,但不能在服务器本地访问
使用 Laravel Forge 在同一台服务器上创建多个队列