0

ワークスペース: localhost およびサーバー上の php 5.4 (dreamhost 共有)

localhost ではコードは正常に動作しますが、サーバーでは no: message error from server:

警告: require(/home/user/domain/view/../view/config/templateGlobal.php): ストリームを開くことができませんでした: ライン上の /home/user/domain/view/TemplateController.php にそのようなファイルまたはディレクトリはありません13 致命的なエラー: require(): 必要な '/home/user/domain/view/../view/config/templateGlobal.php' を開くことができませんでした (include_path='.:/usr/local/lib/php:/usr/ local/php5/lib/pear') /home/user/domain/view/TemplateController.php の 13 行目

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 が動作しません

4

1 に答える 1

0

何時間も検索して読んだ後、いくつかの問題を特定しました.M.Svrcekからのコメントは、パスについてもっと考えさせてくれます.この質問は、パスがcronジョブでは機能しませんか? 、PHPファイルがどこで機能するかを特定するために、Robusからヒントを得ました。パスを次のように変更しました。

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

そして愚かな部分、私は 2 つの forlders 'configs' と 'config' を持っていました。ファイルを 'config' に移動し、'configs' を削除するだけです。:) ... 単純すぎて信じられないこともありますが、それは間違っています...

于 2013-08-30T23:14:55.410 に答える