调用控制台操作时,控制台中会出现zend framework 2 notice

时间:2013-04-12 13:46:39

标签: console zend-framework2 zend-controller zend-controller-router

我按照zend documentation的简单步骤开发了许多简单的控制台操作。

我的行动只有一个文字参数。它工作正常并且操作已执行但之前,每次调用都会出现以下通知和堆栈跟踪。

我如何删除/解决此消息

    Notice: Undefined index: HTTP_ACCEPT_LANGUAGE in C:\xampp\htdocs\pfc_desarrollo\module\SecureDraw\Module.php on line 124

    Call Stack:
        0.0003     121464   1. {main}() C:\xampp\htdocs\pfc_desarrollo\public\index.php:0
        0.0079     237776   2. Zend\Mvc\Application::init() C:\xampp\htdocs\pfc_desarrollo\public\index.php:12
        0.1589    1822568   3. Zend\Mvc\Application->bootstrap() C:\xampp\htdocs\pfc_desarrollo\vendor\zendframework\zendframework\library\Zend\Mvc\Application.php:239
        0.2135    2232464   4. Zend\EventManager\EventManager->trigger() C:\xampp\htdocs\pfc_desarrollo\vendor\zendframework\zendframework\library\Zend\Mvc\Application.php:142
        0.2135    2232584   5. Zend\EventManager\EventManager->triggerListeners() C:\xampp\htdocs\pfc_desarrollo\vendor\zendframework\zendframework\library\Zend\EventManager\EventManager.php:204
        0.2350    2387304   6. call_user_func() C:\xampp\htdocs\pfc_desarrollo\vendor\zendframework\zendframework\library\Zend\EventManager\EventManager.php:460
        0.2350    2387320   7. SecureDraw\Module->onBootstrap() C:\xampp\htdocs\pfc_desarrollo\vendor\zendframework\zendframework\library\Zend\EventManager\EventManager.php:460
    --------------------------------HELLOOOOOO------------------

这是我的行动/路线定义

    //module.php
    'console' => array(
        'router' => array(
            'routes' => array(
                'hello' => array(
                    'options' => array(
                        'route'    => 'hello',
                        'defaults' => array(
                            'controller' => 'SecureDraw\Controller\Participant',
                            'action'     => 'hello',
                        ),
                    ),
                ), //Line 124
            ),
        ),
    ),  

    //Participant.php
    public function helloAction(){
        return "--------------------------------HELLOOOOOO------------------";
    }   

1 个答案:

答案 0 :(得分:1)

您必须尝试访问Module.php文件中的服务器变量HTTP_ACCEPT_LANGUAGE。

$ _ SERVER ['HTTP_ACCEPT_LANGUAGE']通常是使用已请求页面的浏览器设置的,但是当您从控制台运行应用程序时,它可能没有设置。

在访问之前,您应该检查它是否已设置。