donglin317704291
2016-05-20 19:03
浏览 85
已采纳

在PHP中使用名称空间::找不到致命错误Core \ App


I made an MVC project in local (WAMP) and it runs perfectly. But when i deploy it in a web server apears this error:

Fatal error: Class 'Core\App' not found in home/dmlink/public_html/public/index.php on line 14

This is the code of the line 14:

13: spl_autoload_register('autoload_classes');
14: $app = new \Core\App;
15: $app->render();

The structure of the project:

  • app : Here are the controllers, models, and views.
  • core: Here are the core files.
  • public: Since this directory runs the app.

I got the same version in the web server like in localhost:

  • php 5.5
  • apache 2.4

This is the complete code of index:

define('PROJECT_PATH', dirname(__DIR__));
define('APP_PATH', PROJECT_PATH . '/app');

function autoload_classes($class_name){
    $file = PROJECT_PATH . '/' . str_replace('\\', '/', $class_name) . '.php';
    if (is_file($file)) {
        include_once $file;
    }
}

spl_autoload_register('autoload_classes');
$app = new \Core\App;
$app->render();

Any idea that is causing this error ThankS for all by the way.

  • 写回答
  • 关注问题
  • 收藏
  • 邀请回答

2条回答 默认 最新

  • duanji1924 2016-06-02 17:28
    已采纳

    Finally i found the error, and was very simple!.

    The error was the name of the directories where the classes are. I just rename the directory 'Core' instead 'core' .... And thats it.

    Thanks for all!!

    打赏 评论
  • dongritan5654 2016-05-20 19:23

    Maybe the error lies in the server configuration, check your server config file and make sure you have the correct path to your MVC project.

    打赏 评论

相关推荐 更多相似问题