Php 不派班

Php 不派班,php,class,dispatcher,bootstrapping,Php,Class,Dispatcher,Bootstrapping,我在项目中使用xampp localhost PHP5.4.31。我的特定项目脚本在本地主机上按预期运行,但一旦上传到服务器(运行Apache、PHP5.3.3),我就遇到了一个奇怪的情况,即脚本没有超出代码中的某一点,也没有报告任何错误消息 我有一个index.php文件,它加载我所有必要的类(inc'bootstrap.class.php',它在我的“apps”文件夹中!),然后分派引导类。在这一行之前,运行正常: $dispatch=new$controllerName()它不会超出此范围

我在项目中使用xampp localhost PHP5.4.31。我的特定项目脚本在本地主机上按预期运行,但一旦上传到服务器(运行Apache、PHP5.3.3),我就遇到了一个奇怪的情况,即脚本没有超出代码中的某一点,也没有报告任何错误消息

我有一个index.php文件,它加载我所有必要的类(inc'bootstrap.class.php',它在我的“apps”文件夹中!),然后分派引导类。在这一行之前,运行正常:
$dispatch=new$controllerName()它不会超出此范围!为什么?

$controllerFile =  CONTROLLERS . $controllerName . '.class.php'; 

require_once($controllerFile);

if(class_exists($controllerName)) echo "YES <br />\n";

try{
    echo "[A: '$controllerName'] <br />";

        $dispatch = new $controllerName();

    print_r($dispatch);

    } catch (Exception $e) {
        echo 'Caught exception: ',  $e->getMessage(), "\n";
}

服务器显示:

任何想法-任何帮助都非常感谢。

这是PHP5.3.3的错误,请升级服务器php4
相关链接:

检查服务器上的
indexcontroller
文件是否存在语法错误,可能是您使用的PHP版本特定语法导致服务器上运行的PHP版本出现致命错误,如果您在服务器和本地主机之间运行不同的PHP版本,这通常是一个问题。它确实会提出一个问题,即为什么您在开发环境和服务器上不运行相同版本的PHP,这在这个虚拟机时代是不可原谅的。尽管我同意您的评论“为什么在开发环境中没有运行相同版本的Php“,直到出现此问题,我才检查服务器版本,从未想到会出现这样的错误-谢谢。在没有任何证据表明这可能是原因的情况下,指向任意错误并不是特别有用;是什么让你认为OP的indexcontroller有一个引用$this的_toString()方法,并且他们得到了一个segfault?我提供了一个链接。PHP5.3.x有一个关于返回一个对象和_-toString方法的错误。我读了链接。。。。我只是不知道你怎么知道OP的indexcontroller有一个引用$this的_-toString()方法,他们得到了一个segfault?他们的问题中没有提到这一点。。。。PHP5.3.3中还有很多其他的bug,那么是什么让您如此确信它们的问题是由这个特定的bug引起的呢?如果indexcontroller包含类似于
$x=$this->getMyArray()[1]的行,则可以显示相同的符号
(数组解引用在PHP5.4中有效,但在PHP5.3中会出现致命错误)是的,您是对的,我不知道存在与否\u toString方法。我发现了转储对象的新错误:
YES
[A: 'indexcontroller']
indexcontroller Object (....blah blah blah.....
YES
[A: 'indexcontroller']