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

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

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

 "PhalconException: TestController handler class cannot be loaded". 

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

Phalcon показан в 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> 

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

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

с

 $url->setBaseUri('/'); 

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

Вам нужно изменить Dir контроллеров и моделей, если вы запустите 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();