如何解决php中的require尝试加载文件的致命错误?

时间:2013-08-28 19:47:32

标签: php static path

工作区:本地主机和服务器上的php 5.4(dreamhost共享)

在localhost中,代码工作正常,但在服务器上没有: 来自服务器的消息错误:

警告:require(/ home / user / domain / view /../view / config / templateGlobal.php):无法打开流:/ home / user / domain / view中没有此类文件或目录第13行的/TemplateController.php 致命错误:require():无法打开所需的'/home/user/domain/view/../view/config/templateGlobal.php'(include_path ='。:/ usr / local / lib / php:/ usr / local第13行/home/user/domain/view/TemplateController.php中的/ php5 / lib / pear')

TemplateController.php中的代码

    class TemplateController {

            private static $paths = array();
            private static $pathsCssJs = array();
            private static $appInfo = array();      

            public function __construct(){
                self::$paths = require __DIR__.'/../config/paths.php';
                self::$pathsCssJs = require __DIR__.'/../view/config/cssJsPaths.php';
                self::$appInfo = require __DIR__.'/../view/config/templateGlobal.php';          
            }
}

cssJsPaths的路径与templateGlobal.php相同,名称是正确的,我只是不知道发生了什么。

如果我从路径中删除../view/,在localhost上工作正常,但在服务器上cssJsPaths.php和templateGlobal.php不起作用

1 个答案:

答案 0 :(得分:0)

经过多个小时的搜索和阅读,我发现了一些问题:来自M.Svrcek的评论让我更多地考虑了路径,这个问题Require path does not work for cron job?, 我从Robus得到了提示,以确定php文件的工作位置。我把路径改为:

self::$pathsCssJs = require __DIR__.'/config/cssJsPaths.php';
self::$appInfo = require __DIR__.'/config/templateGlobal.php';

愚蠢的部分,我有2个forlders'配置'和'配置',只需将文件移动到'配置'并删除'配置',现在正在工作...感谢所有试图帮助我的人。 :) ...有时太简单了,不能相信这是错误的......