Ошибка учебника Phalcon PhalconException: класс обработчика TestController не может быть загружен

У меня возникли проблемы с запуском Phalcon Учебника 1. В конце концов, я клонировал версию onGithub, чтобы убедиться, что ничего не упустил; все еще получая такое же поведение от этого.

Указание браузеру на localhost/test, как показано в руководстве, дает: `

"PhalconException: TestController handler class cannot be loaded".

Однако переход к localhost/test.php загружает "Hello!" проверить сообщение правильно.

Сокол показан в phpinfo() and get_loaded_extensions().

Я получаю такое поведение, даже клонировав учебник из

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

Я предполагаю, что apache неправильно переписывает URL-адреса, как описано в маршруты 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>

person MHG    schedule 04.01.2014    source источник


Ответы (3)


Заменить в файле начальной загрузки index.php

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

с

$url->setBaseUri('/');
person Marcone    schedule 13.01.2014
comment
Я сделал это, но все же проблема не решается для меня, что еще может быть возможно.? - person Mr world wide; 27.09.2017

Плохо, это не ошибка. Учебник Phalcon, похоже, предполагает, что учебник выполняется в каталоге с именем /test/, а не в корневом каталоге. Это не указано, поэтому я предположил, что /test приведет к поведению, показанному в руководстве, с проектом в корневом каталоге веб-сайта.

person MHG    schedule 05.01.2014

Вам нужно изменить каталог контроллеров и моделей, если вы запускаете 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();
person Vo Q. Nguyen    schedule 23.01.2015