我已經在Windows Vista 64機器上安裝了php和composer。我有一段時間讓Composer接受指令來使用指定的目錄,而不是默認的C:\ Users \\ AppData \ Roaming \ Composer。php composer open_basedir限制,我如何設置主路徑?
我試圖建立一個config.json文件即:
{
"config": {
"COMPOSER_HOME": "c:\inetpub\wwwroot\PHPcomposer\",
"COMPOSER_CACHE_DIR": "c:\inetpub\wwwroot\PHPcomposer\"
}
}
,這完全忽略了。甚至爲了好玩而添加了cache-dir。
我試圖改變composer.json即:
,仍然我得到的消息影響了open_basedir限制,指的是
C:\Users\<user>\AppData\Roaming\Composer
我還做了一個IISRESET,以防萬一的iis緩存的東西。
因此,任何線索我到哪裏去錯了。我知道我可以修改php.ini,但對我來說這違反了php提供的安全性。我寧願告訴作曲家行爲,並做我告訴它做的事情。
這裏是我使用的命令行和它的結果,無論在config.phar或composer.phar的「配置」部分中的任何設置會發生同樣的錯誤。 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]
請說明您在執行簡單的,未配置的作曲家運行時收到的錯誤消息。當我試圖重現這個問題,並且看到相同的信息時,我知道我正處在正確的軌道上。同時解釋您正在使用的命令,即複製並粘貼命令行。 – Sven
最後,我放棄並禁用了open_basedir的php.ini設置。有點警察了,但是鞭打死馬有什麼意義? – user3230847