3

可能重复:
类中的 PHP 调用类返回错误:500

我的代码看起来有点像这样:

<?php
include 'payTable.php';
session_start(); 

...

if ($_SESSION['fieldTen'] > 30)
{
    $payTable = 'payTable';
    $payTable::run();
}

?>

我的权限设置为 0644,所以我认为这不是问题,但是我在服务器上遇到了奇怪的行为,我没有使用 XAMP 进入本地目录。

每次我尝试加载带有此代码的页面时,都会收到“内部服务器错误:500”错误。

谁能告诉我这里是否有明显的问题?我缺少的东西。

我尝试简单地从这个文件中删除 PHP,这会导致它的 HTML 部分出现没有问题。

4

3 回答 3

2

这不是 PHP < 5.3.0 上的合法语法,因此您会遇到语法错误:

$payTable = 'payTable';
$payTable::run();

PHP (< 5.3.0) 认为$payTable是一个字符串,所以你不能::run()在它上面使用。

解决方案就是完全放弃变量并直接调用它:

payTable::run();

在相关说明中,打开您的错误报告。这将使您能够轻松地发现和修复错误,而不是被一般错误蒙在鼓里。您可以通过编辑 php.ini(首选)来执行此操作,或者将其添加到脚本的顶部:

error_reporting(E_ALL);
ini_set("display_errors","On");
于 2012-10-12T21:39:14.847 回答
1

看起来您正在尝试调用“payTable”的函数,但 payTable 不是具有任何函数的类。

此外,您可能会在输出一些数据后尝试设置会话......可能来自包含的文件?这将引发错误,但可能不如 500 严重。

于 2012-10-12T21:10:49.383 回答
0

500 只是意味着服务器遇到问题并且无法继续。您需要检查 Web 服务器(可能是 apache?)的错误日志,以了解实际问题是什么。查看代码,即兴猜测可能是包含的文件名与实际文件名不匹配。

于 2012-10-12T21:11:02.697 回答