0

Windows Vista 64 マシンに php と composer をインストールしました。デフォルトの C:\Users\\AppData\Roaming\Composer 以外の指定されたディレクトリを使用するディレクティブを Composer が受け入れるようにするには、非常に苦労しています。

私は config.json ファイルを設定しようとしました:

{
    "config": {
        "COMPOSER_HOME": "c:\inetpub\wwwroot\PHPcomposer\",
        "COMPOSER_CACHE_DIR": "c:\inetpub\wwwroot\PHPcomposer\"
    }    
}

そしてこれは完全に無視されました。楽しみのために cache-dir も追加しました。

composer.json viz を変更してみました:

{
    "require": {
        "symfony/validator":         "2.1.*",
        "doctrine/dbal":             "2.2.*",
        "monolog/monolog":           "dev-master",
        "jtreminio/test-extensions": "dev-master"
    },
    "minimum-stability": "dev",
    "config": {
        "COMPOSER_HOME": "c:/inetpub/wwwroot/PHPcomposer/",
        "cache-dir": "c:/inetpub/wwwroot/PHPcomposer/",
        "COMPOSER_CACHE_DIR": "c:/inetpub/wwwroot/PHPcomposer/"
    }    
}

それでも私は open_basedir 制限メッセージを参照しています

C:\Users\<user>\AppData\Roaming\Composer

iis が何かをキャッシュしていた場合に備えて、iisreset も実行しました。

だから、私がどこで間違っているのかについての手がかり。php.ini を変更できることはわかっていますが、それは php が提供するセキュリティに違反しています。私は Composer に、私が指示したとおりに振る舞い、実行するように指示したいと考えています。


これが私が使用したコマンドラインとその結果です。config.phar の設定または composer.phar の「config」セクションに関係なく、同じエラーが発生します。php.ini には open_basedir = "C:\inetpub\wwwroot" があります。

C:\inetpub\wwwroot\PHPcomposer>composer install

[ErrorException]
file_exists(): open_basedir restriction in effect. 
File(C:/Users/Stuart/AppData/Roaming/Composer/.htaccess) is not 
within the allowed path(s): (C:\inetpub\wwwroot)


 install [--prefer-source] [--prefer-dist] [--dry-run] [--dev] [--no-dev]
 [--no-plugins] [--no-custom-installers] [--no-scripts] [--no-progress]
 [-v|vv|vvv|--verbose] [-o|--optimize-autoloader]
4

1 に答える 1