Composer-Diff icon indicating copy to clipboard operation
Composer-Diff copied to clipboard

autoloader.php detection with $_composer_autoload_path

Open Sweetchuck opened this issue 2 years ago • 1 comments

Composer 2.2 released 2021-12-22 $_composer_autoload_path


proposed solution

./composer-diff.php

$cwd = isset($_SERVER['PWD']) && is_dir($_SERVER['PWD']) ? $_SERVER['PWD'] : getcwd();
// See https://getcomposer.org/doc/articles/vendor-binaries.md#finding-the-composer-autoloader-from-a-binary
if ((isset($_composer_autoload_path) && file_exists($autoloadFile = $_composer_autoload_path))
    || file_exists($autoloadFile = __DIR__ . '/../../autoload.php')
    || file_exists($autoloadFile = __DIR__ . '/../autoload.php')
    || file_exists($autoloadFile = __DIR__ . '/vendor/autoload.php')
) {
    \define('JBZOO_AUTOLOAD_FILE', $autoloadFile);
} else {
    throw new \Exception("Could not locate autoload.php. cwd is $cwd; __DIR__ is " . __DIR__);
}

require_once JBZOO_AUTOLOAD_FILE;

Sweetchuck avatar Apr 06 '23 20:04 Sweetchuck

Hi @Sweetchuck Thank you for your idea.

Actually, I didn't know about the $_composer_autoload_path. I'll definitely explore the questions these days.

SmetDenis avatar Apr 07 '23 17:04 SmetDenis