Phalcon教程错误指示灯xception:无法加载testController处理程序类[英] Phalcon tutorial error PhalconException: TestController handler class cannot be loaded

问题描述

我有点麻烦得到Phalcon教程1工作.最后我克隆了它的版本Github以确保我不缺少某些东西;仍然从中获得相同的行为.

将浏览器指向localhost/test,如教程所示给出:`

"PhalconException: TestController handler class cannot be loaded".
然而,要加载"Hello!"正确测试消息.

phalcon在phpinfo() and get_loaded_extensions()中显示.

我甚至可以从

中克隆教程

https://github.com/phalcon/tutorial .

我的猜测是apache不是正确重写网址,如 phalconphp路线不起作用 ,但我的问题看起来与那里的问题相同.

htaccess文件的内容:

#/tutorial/.htaccess
<IfModule mod_rewrite.c>
    RewriteEngine on
    RewriteRule  ^$ public/    [L]
    RewriteRule  (.*) public/$1 [L]
</IfModule>

#/tutorial/public/.htaccess
<IfModule mod_rewrite.c>
    RewriteEngine On
    RewriteCond %{REQUEST_FILENAME} !-d
    RewriteCond %{REQUEST_FILENAME} !-f
    RewriteRule ^(.*)$ index.php?_url=/$1 [QSA,L]
</IfModule>

推荐答案

替换在引导文件中index.php

$url->setBaseUri('/tutorial/');

$url->setBaseUri('/');

其他推荐答案

我的坏,这不是错误. Phalcon教程似乎期望在一个名为/test/,而不是Web Root的目录中完成了教程.它没有指定这一点,因此我假设/测试将在Web Root中使用项目中的项目显示教程中显示的行为.

其他推荐答案

如果您运行localhost/test.php

,则需要更改控制器和模型的域
try {
//Register an autoloader
$loader = new \Phalcon\Loader();
$loader->registerDirs(array(
    'app/controllers/',
    'app/models/'
))->register();

//Create a DI
$di = new Phalcon\DI\FactoryDefault();

//Setup the view component
$di->set('view', function(){
    $view = new \Phalcon\Mvc\View();
    $view->setViewsDir('app/views/');
    return $view;
});

//Setup a base URI so that all generated URIs include the "tutorial" folder
$di->set('url', function(){
    $url = new \Phalcon\Mvc\Url();
    $url->setBaseUri('/');
    return $url;
});

//Handle the request
$application = new \Phalcon\Mvc\Application($di);
echo $application->handle()->getContent();

本文地址:https://www.itbaoku.cn/post/1739767.html