에서 pub/index.php
다음과 같은 코드가 생략 "/ 술집"미디어 및 고정 자산에 대한 설정 변경 URL로 사용된다 :
$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/...
해야 하고 현재 필요한 URL을 생성 해야한다는 것입니다.http://magento.local/media/...
가상 호스트가 가리키고 pub
"pub"이 URL의 일부가 아니어야한다고 CLI에 알리려면 어떻게 해야합니까?
이상적으로는 추가 CLI 매개 변수 나 환경 변수에 의존하지 않고 작동해야합니다.
--magento-init-params=MAGE_DIRS[media][uri]=media
. 이것은 실제로 모든 명령에 대해 작동하지만 (코드를 통해 단계적으로 알 수 있지만) setup:
네임 스페이스 외부의 명령 은 옵션이 존재하지 않는다는 오류를 잘못 제공합니다.