Php 文件\u exists()在未启用安全\u模式的情况下失败

Php 文件\u exists()在未启用安全\u模式的情况下失败,php,Php,如果我删除文件\u存在,脚本就会工作,但文件\u存在无论如何都返回false 这可能是什么原因造成的 此外,我还收到一条错误消息:未捕获异常“exception”,消息为“无法加载类:模板”。是因为模板类是静态的吗 您的代码有两个错误 没有意义和合理的系统错误消息,您只是看到了无用的和泛化的错误消息,这对您没有帮助 您可以使用try catch来回显消息。这是大错特错 因此,只需去掉代码中的所有try-catch块,然后再次运行即可。 如果您不打算处理错误,请不要使用try..catch 而不是

如果我删除
文件\u存在
,脚本就会工作,但
文件\u存在
无论如何都返回false

这可能是什么原因造成的


此外,我还收到一条错误消息:
未捕获异常“exception”,消息为“无法加载类:模板”
。是因为模板类是静态的吗

您的代码有两个错误

  • 没有意义和合理的系统错误消息,您只是看到了无用的和泛化的错误消息,这对您没有帮助
  • 您可以使用
    try catch
    来回显消息。这是大错特错 因此,只需去掉代码中的所有try-catch块,然后再次运行即可。
    如果您不打算处理错误,请不要使用
    try..catch

    而不是将错误报告设置为能够看到错误消息

            spl_autoload_register(function ($className) 
            {
                if (file_exists($className . '.php'))
                {
                    require_once($className . '.php');
                }
                else
                {
                    throw new Exception('Could not load class: ' . $className);
                }
            });
    
            //Load models and save them in variable instances
            try 
            {
                $this->database = new Database  (
                                                    $config['DB']['HOST_IP'], 
                                                    $config['DB']['DATABASE_NAME'], 
                                                    $config['DB']['USERNAME'], 
                                                    $config['DB']['PASSWORD']
                                                );
                //Set the initial language for our template model.
                Template::setLanguage();
            }
            catch (Exception $e) 
            {
                echo $e->getMessage();
            }
    

    问题是我的PHP文件有两个扩展名。(例如index.php.php)遗憾的是,windows环境没有配置,所以我很难找到问题。

    file\u exists()
    搜索实际的文件系统路径,而不是
    include\u path
    。那么,您是否传递了一个可以在文件系统上访问的路径,比如当前脚本的相对路径?如果是这种情况,那么有几个例子可以将其包装为搜索
    包含路径
    错误报告在开发环境中已经设置为相同。一次失败不值得例外吗?如果你能告诉我正确的方法,我将不胜感激。你收到我昨天发给你的电子邮件了吗?
    error_reporting(E_ALL);
    ini_set('display_errors',1);