【问题标题】:$_SERVER['SERVER_NAME'] is not working with console application in Yii framework$_SERVER['SERVER_NAME'] 不适用于 Yii 框架中的控制台应用程序
【发布时间】:2014-09-04 02:44:18
【问题描述】:

当我尝试像这样 /var/www/myProject/proted/yiic photoResizer 运行我的 photoResizer 命令时

我收到此错误。

PHP Error[8]: Undefined index: SERVER_NAME
in file /var/www/myProject/protected/components/UploadHandler.php at line 190
#0 /var/www/myProject/protected/components/UploadHandler.php(45):  
UploadHandler->get_full_url()
#1 /var/www/myProject/protected/commands/PhotoResizerCommand.php(37):   
UploadHandler->__construct()
#2 /var/www/myProject/framework/console/CConsoleCommandRunner.php(71):    
PhotoResizerCommand->run()
#3 /var/www/myProject/framework/console/CConsoleApplication.php(92): 
CConsoleCommandRunner->run()
#4 /var/www/myProject/framework/base/CApplication.php(180): 
CConsoleApplication->processRequest()
#5 /var/www/myProject/framework/yiic.php(33): CConsoleApplication->run()
#6 /var/www/myProject/protected/yiic.php(7): require_once()
#7 /var/www/myProject/protected/yiic(4): require_once()

我需要解决这个问题或通过命令行在 yii 框架中运行 php 脚本的任何替代方法。

谢谢。

【问题讨论】:

  • 这是你的班级你得到了错误。试着在那里修复它。

标签: php yii console-application


【解决方案1】:

您可以在组件数组中添加 config/console.php

'request' => array(
    'hostInfo' => 'http://localhost',
    'baseUrl' => '',
    'scriptUrl' => '',
),

同时添加 urlManager

'urlManager' => array(
    'urlFormat' => 'path',
    'showScriptName' => false,
    'rules' => array(
        '<controller:\w+>' => '<controller>/index',
        '<controller:\w+>/<id:\d+>' => '<controller>/view',
        '<controller:\w+>/<action:\w+>/<id:\d+>' => '<controller>/<action>',
        '<controller:\w+>/<action:\w+>' => '<controller>/<action>',
    ),
),

【讨论】:

    【解决方案2】:

    很明显,从命令行运行应用程序时没有“服务器”,因此您不能将该变量用于任何事情。显然UploadHandler 被硬编码以期望在 Web 请求的上下文中执行以处理请求中上传的文件(您知道,这是有道理的)。由于您不在 Web 请求上下文中,因此它会失败。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2014-12-20
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2015-05-28
      相关资源
      最近更新 更多