Phalcon应用程序发送"没有收到数据"在生产,但不是localhost

时间:2015-04-11 18:12:46

标签: php phalcon

我正在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来说是相当新的,所以任何建议都会非常感激。

0 个答案:

没有答案