2014-01-25 5 views
0

Я установил php и композитор на компьютере с Windows Vista 64. У меня чертовски время, когда 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\" 
    }  
} 

и это был полностью проигнорирован. даже добавил кеш-дир для удовольствия.

Я попытался изменения composer.json а именно:

{ 
    "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 

Я также сделал 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] 
+0

Укажите сообщение об ошибке, которое вы получаете при выполнении простого, неконфигурированного запуска композитора, пожалуйста. Когда я пытаюсь воспроизвести проблему, и я вижу одно и то же сообщение, я знаю, что я на правильном пути. Также объясните, какие команды вы используете, т. Е. Скопируйте и вставьте командную строку. – Sven

+1

В конце концов я отказался и отключил настройку php.ini для open_basedir. Немного полицейский, но в чем смысл порки мертвой лошади? – user3230847

ответ

0

Вам нужно создать директорию C: \ pathTo \ композитор и скачать composer.phar в него из here

Тогда установка COMPOSER_HOME и COMPOSER_CACHE_DIR перед запуском PHP, в пакетном файле:

composer.bat

@ECHO off 
SET cwd=%cd% 
PUSHD "c:\pathTo\php-5.4.28" 
SET COMPOSER_HOME=c:\pathTo\composer 
SET COMPOSER_CACHE_DIR=c:\pathTo\composer 
"c:\pathTo\php-5.4.28\php.exe" -c "c:\pathTo\phpIniDir" -ddisable_functions="" -ddisable_classes="" -n "c:\pathTo\composer\composer.phar" --working-dir="%cwd%" %* 
POPD 
Смежные вопросы