从CLI运行的Zend 2使用HTTP路由而不是控制台路由

时间:2015-10-23 07:34:23

标签: php zend-framework zend-framework2 console-application

我目前正在开发一个zend 2项目,并创建了一个我将与cronjobs一起使用的控制台模块。到目前为止,我创建了一个独立的项目,一切都在我的工作站本地运行良好。现在我将它上传到我的webproject并激活了模块。现在我尝试运行控制器(路由"消息")但它没有使用控制台路由......如果你用浏览器调用网站,它会输出生成的html。 / p>

    php public/index.php message

知道我错过了什么吗?它在独立项目中本地工作,但在服务器上不工作。网络项目中的其他模块是否会出现任何问题?

新模块config /module/Console/config/module.config.php:

// This lines opens the configuration for the console routing
'console' => array(
    'router' => array(
        'routes' => array(
            'messagecron' => array(
                'type'    => 'simple',
                'options' => array(
                    'route'    => 'message',
                    'defaults' => array(
                        'controller' => 'Console\Controller\Message',
                        'action'     => 'send'
                    )
                )
            ),

        )
    )
)

它似乎正在使用来自... / module / Application / config / module.config.php的基本http路由

'router' => array(
    'routes' => array(
        'home' => array(
            'type' => 'Zend\Mvc\Router\Http\Literal',
            'options' => array(
                'route' => '/',
                'defaults' => array(
                    'controller' => 'Basic\Controller\Index',
                    'action' => 'index',
                ),
            ),
        ),
    ),
),

1 个答案:

答案 0 :(得分:0)

问题属于服务器(1& 1托管)我使用...有两种运行php的方式。

1) php public/index.php message
2) php-cli public/index.php message

解决方案是,使用" -cli"用于命令行执行。