- Open Server чисто развёрнутый
- Использовалась консоль встроенная в OpenServer (Контекстное меню => Дополнительно => Консоль) с выбранной cmd.exe в роли консоли (git bash не хочешь запускать bat файлы без расширения [например composer] + Environment Variable не совсем корректно подменялись)
- Включённая защита от внешнего доступа
[ErrorException] file_exists(): open_basedir restriction in effect. File(C:/Users/<USER_NAME>/AppData/Roaming/Composer/.htaccess) is not within the allowed path(s): (<Корневая папка доменов>;<путь до OSPanel>/userdata/temp;<путь до OSPanel>/modules/system/html/openserver;<путь до OSPanel>/modules/php/PHP-7.1-x64)Пробовал править php.ini, но это не помогло..
Отключать защиту не хотелось.. мало ли что может сделать код с системой..
Использовать внешний php казалось нецелесообразным..
Решение нашлось при просмотре кода composer.phar .. оказалось то, что код берёт переменную "COMPOSER_HOME"
getenv('COMPOSER_HOME')и если её нет то обращается к
rtrim(strtr(getenv('APPDATA'), '\\', '/'), '/') . '/Composer';что и вызывает ошибку..
Чтобы это исправить нужно отредактировать <путь до OSPanel>/modules/php/<версия php>/composer.bat следующим образом:
SET COMPOSER_HOME=%PHP_DIR%composer @"%PHP_BIN%" -d output_buffering=0 "%PHP_DIR%composer.phar" %*Спасибо за внимание