【问题标题】:PHP: /public_html/index.php NOT working, and Bluehost support has no idea whyPHP: /public_html/index.php 不工作,Bluehost 支持不知道为什么
【发布时间】:2015-05-14 05:37:20
【问题描述】:

我的问题是:网站无法访问 index.php 脚本文件。默认情况下它不会访问它。如果我明确键入它,它将不会访问它。但是,我可以访问包含在不同目录中的 login.php 脚本文件。 这是.htaccess文件的内容

# Use PHP5.4 as default
AddHandler application/x-httpd-php54 .php

这里是 /public_html/index.php 脚本文件的前 11 行:

<?
session_start();
echo 'index start';
exit;
include $_SERVER['DOCUMENT_ROOT'] . 'library/library.php';
if($_SESSION['logged_in'] === 'TRUE'){
//nothing....
}else{
$_SESSION['logged_in'] = 'FALSE'
}

bluehost 的支持人员说第 11 行有错误,}。 (对不起,我忘了准确地复制错误。)

我不是 PHP 的新手。我知道第 4 行的 exit; 应该可以防止发生此错误。我完全不知所措。

【问题讨论】:

  • 自从我做任何 php 以来已经很久了,但您不需要关闭脚本吗?>
  • else 子句中缺少分号
  • 没有@paul,事实上人们建议不要使用?&gt;,我仍然不知道为什么。 :)
  • 就像我之前说的,第 4 行之后的任何内容都不应该被执行,所以如果你至少没有回答这个问题,我不能诚实地认为你在第 5-11 行中对我的代码的批评值得在我尝试解决这个问题时要注意。
  • 否 @KyleBirch 很抱歉您的理解不正确。如果即使在第 2000000 行也存在解析错误,并且您在第 2 行有退出,它将无法正常工作。您必须先修复解析错误,否则 exit 以及任何其他好的代码都是毫无意义的。

标签: php apache .htaccess php-5.4 bluehost


【解决方案1】:
<?
session_start();
echo 'index start';
exit;
include $_SERVER['DOCUMENT_ROOT'] . 'library/library.php';
if($_SESSION['logged_in'] === 'TRUE'){
  //nothing....
}else{
  $_SESSION['logged_in'] = 'FALSE';
}

注意else 条件中的;

【讨论】:

  • @jQuery.PHP.Magento.com 我非常怀疑。如果是单行,我们可以跳过{&},而不是;
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2021-02-13
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多