我正在Windows上和我的本地服务器上编写一个Phalcon PHP网站,一切都按指定的方式工作。到达基本URL时,它会使用.htaccess转发到我的公共文件夹并加载index.php。 index.php的内容如下。 需要注意的是,下面index.php中的几乎所有内容都来自官方的Phalcon文档页面。
<?php
echo "TEST TEST DEST";
use \Phalcon\Mvc\Dispatcher;
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;
});
$di->set(
'dispatcher',
function() use ($di) {
$eventsManager = $di->getShared('eventsManager');
$eventsManager->attach(
'dispatch:beforeException',
function($event, $dispatcher, $exception) {
switch ($exception->getCode()) {
case Dispatcher::EXCEPTION_HANDLER_NOT_FOUND:
case Dispatcher::EXCEPTION_ACTION_NOT_FOUND:
$dispatcher->forward(
array(
'controller' => 'error',
'action' => 'error404',
)
);
return false;
break; // for checkstyle
default:
$dispatcher->forward(
array(
'controller' => 'error',
'action' => 'error404',
)
);
return false;
break; // for checkstyle
}
}
);
$dispatcher = new Dispatcher();
$dispatcher->setEventsManager($eventsManager);
return $dispatcher;
},
true
);
//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();
} catch(\Phalcon\Exception $e) {
echo "PhalconException: ", $e->getMessage();
}
然后将页面重定向到索引控制器和indexAction,由默认的Phalcon行为指定。在localhost上,这将完美地显示我的index.html页面。
问题在于,当我将它加载到我的生产服务器(即CentOS)时,index.php文件会在运行以下行时返回No Data Received。
echo $application->handle()->getContent();
我不知道问题是什么,对于Phalcon和PHP来说是相当新的,所以任何建议都会非常感激。