Zend 框架 2 从控制台控制器获取 baseUrl
Zend framework 2 get baseUrl from console controller
我试图找到一种方法来获取混合 (http + CLI) 应用程序的基础 url。 CLI用来做一些常规的通知,这里使用了appurl.
我试过了,但是 returns 只有我 "http://"
print_r($this->getEvent()->getApplication()->getServiceManager()->get('ViewHelperManager')->get('ServerUrl')->__invoke());
这不适用于控制台请求。 serverUrl
是从 http 请求对象 (Zend\Http\Request
), since a console request is wrapped in a console request object (Zend\Console\Request
) 中提取的,此信息对此类请求不可用。
您可以在全局配置或常量中定义(硬编码)一个 url 并改用它。
例如,将 host.config.local
文件添加到您的 application/config/autoload
文件夹:
<?php
return array(
'hostname' => 'http://www.example.com'
);
现在您可以从您的服务经理处获取您的主机名:
$config = $serviceManager->get('config');
$hostName = $config['hostname'];
我试图找到一种方法来获取混合 (http + CLI) 应用程序的基础 url。 CLI用来做一些常规的通知,这里使用了appurl.
我试过了,但是 returns 只有我 "http://"
print_r($this->getEvent()->getApplication()->getServiceManager()->get('ViewHelperManager')->get('ServerUrl')->__invoke());
这不适用于控制台请求。 serverUrl
是从 http 请求对象 (Zend\Http\Request
), since a console request is wrapped in a console request object (Zend\Console\Request
) 中提取的,此信息对此类请求不可用。
您可以在全局配置或常量中定义(硬编码)一个 url 并改用它。
例如,将 host.config.local
文件添加到您的 application/config/autoload
文件夹:
<?php
return array(
'hostname' => 'http://www.example.com'
);
现在您可以从您的服务经理处获取您的主机名:
$config = $serviceManager->get('config');
$hostName = $config['hostname'];