CLI中的MAGE_DIRS引导程序参数
在中pub/index.php,以下代码用于为媒体和静态资产设置更改URL以省略“ / pub”: $params[Bootstrap::INIT_PARAM_FILESYSTEM_DIR_PATHS] = [ DirectoryList::PUB => [DirectoryList::URL_PATH => ''], DirectoryList::MEDIA => [DirectoryList::URL_PATH => 'media'], DirectoryList::STATIC_VIEW => [DirectoryList::URL_PATH => 'static'], DirectoryList::UPLOAD => [DirectoryList::URL_PATH => 'media/upload'], ]; $bootstrap = \Magento\Framework\App\Bootstrap::create(BP, $params); 不幸的是,在CLI脚本(bin/magento)中没有这样的东西。 我Magento\Setup\Mvc\Bootstrap\InitParamListener用以下代码找到了该类: $initParams = $application->getServiceManager()->get(self::BOOTSTRAP_PARAM); $directoryList = $this->createDirectoryList($initParams); 但是我不知道这个Zend Service Manager在哪里检索数据以及如何影响它。 我的具体问题是,索引器必须生成完整的URL,并且当前这样做的地方就像http://magento.local/pub/media/...我需要的那样http://magento.local/media/... 如何告诉CLI虚拟主机指向的pub“发布”不应该是URL的一部分? 理想情况下,该方法无需依赖其他CLI参数或环境变量即可工作。