Customize base directory paths (MAGE_DIRS)

Introduction to Magento base directory paths

The MAGE_DIRS environment variable enables you to specify custom base directory paths and fragments of base URLs that are used by the Magento application to build absolute paths to various files or for generating URLs.

Set MAGE_DIRS

Specify an associative array where keys are constants from \Magento\App\Filesystem\DirectoryList and values are absolute paths of directories or their URL paths, respectively.

You can set MAGE_DIRS in any of the following ways:

  • Set the value of bootstrap parameters
  • Use a custom entry point script such as the following:

    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    
    use Magento\Framework\App\Filesystem\DirectoryList;
    use Magento\Framework\App\Bootstrap;
    
    require __DIR__ . '/app/bootstrap.php';
    $params = $_SERVER;
    $params[Bootstrap::INIT_PARAM_FILESYSTEM_DIR_PATHS] = [
         DirectoryList::PUB => [DirectoryList::URL_PATH => '',
         DirectoryList::MEDIA => [DirectoryList::PATH => '/mnt/nfs/media', DirectoryList::URL_PATH => ''],
         DirectoryList::STATIC_VIEW => [DirectoryList::URL_PATH => 'static'],
         DirectoryList::UPLOAD => [DirectoryList::URL_PATH => '/mnt/nfs/media/upload'],
         DirectoryList::CACHE => [DirectoryList::PATH => '/mnt/nfs/cache'],
    ];
    $bootstrap = \Magento\Framework\App\Bootstrap::create(BP, $params);
    /** @var \Magento\Framework\App\Http $app */
    $app = $bootstrap->createApplication('Magento\Framework\App\Http');
    $bootstrap->run($app);
    

The preceding example sets paths for [cache] and [media] directories to /mnt/nfs/cache and /mnt/nfs/media, respectively.