PHP-композитор за HTTP-прокси

Я использую композитор в сети, где единственный способ доступа в Интернет – использовать HTTP или socks proxy. У меня есть переменные окружения http_proxy и https_proxy. Когда compose пытается получить доступ к URL-адресам HTTPS, я получаю следующее:

file could not be downloaded: failed to open stream: Cannot connect to HTTPS server through proxy 

Насколько я знаю, единственный способ подключения к https-сайту – использовать глагол connect. Как я могу использовать композитор за этим прокси?

Если вы работаете в Linux или Unix (включая OS X), вы должны поместить это где-нибудь, что повлияет на вашу среду:

 export HTTP_PROXY_REQUEST_FULLURI=0 # or false export HTTPS_PROXY_REQUEST_FULLURI=0 # 

Вы можете поместить его в /etc/profile чтобы глобально повлиять на всех пользователей на машине, или на ваш собственный ~/.bashrc или ~/.zshrc , в зависимости от используемой оболочки.

Если вы находитесь в Windows, откройте панель «Переменные среды» и добавьте переменные системной или пользовательской среды с параметрами HTTP_PROXY_REQUEST_FULLURI и HTTPS_PROXY_REQUEST_FULLURI установленными в 0 или false .

Для других людей, читающих это (не вы, поскольку вы сказали, что у вас есть эти настройки), убедитесь, что HTTP_PROXY и HTTPS_PROXY установлены на правильный прокси-сервер, используя те же методы. Если вы работаете в Unix / Linux / OS X, установка как верхнего, так и нижнего регистров имени переменной является наиболее полным подходом, так как некоторые вещи используют только нижнюю регистрацию, а в некоторых версиях IIRC используется верхний регистр. (Я часто использую гибридную среду Cygwin в Windows, и я знаю, что для меня важно иметь обе, но чистые среды Unix / Linux могут уйти просто с нижним регистром.)

Если вы все еще не можете заставить работу работать после того, как все это сделали, и вы уверены, что у вас есть правильный адрес прокси-сервера, а затем посмотрите, использует ли ваша компания прокси-сервер Microsoft. Если это так, вам, вероятно, необходимо установить Cntlm в качестве дочернего прокси для соединения между Composer (и т. Д.) И прокси-сервером Microsoft. Google CNTLM за дополнительной информацией и указаниями по ее настройке.

Если вы используете Windows, вы должны установить одинаковые переменные среды, но стиль Windows:

 set http_proxy=<your_http_proxy:proxy_port> set https_proxy=<your_https_proxy:proxy_port> 

Это будет работать для вашего текущего cmd.exe. Если вы хотите сделать это более постоянным, предложите использовать переменные среды в своей системе.

Попробуй это:

 export HTTPS_PROXY_REQUEST_FULLURI=false 

решил эту проблему для меня, работая за прокси в компании несколько недель назад.

Если вы должны использовать учетные данные, попробуйте это:

 export HTTP_PROXY="http://username:password@webproxy.com:port" 

Ответ на иконок не помог мне.

Я обновил свой php с 5.3. * (Xampp 1.7.4) до 5.5. * (Xampp 1.8.3), и проблема была решена.

Сначала попробуйте ответить iconoclast, если он не работает, обновление может решить проблему.

Это работает, это мое дело …

 C:\xampp\htdocs\your_dir>SET HTTP_PROXY="http://192.168.1.103:8080" 

Замените ваш IP и порт

Вы можете использовать стандартную среду HTTP_PROXY var. Просто установите его URL-адрес вашего прокси-сервера. Многие операционные системы уже установили эту переменную для вас.

Просто экспортируйте переменную, тогда вам не нужно вводить ее все время.

 export HTTP_PROXY="http://johndoeproxy.cu:8080" 

Затем вы можете выполнять composer update обычном режиме.

в соответствии с вышеизложенными идеями, я создал сценарий оболочки, чтобы создать прокси-среду для композитора.

 #!/bin/bash export HTTP_PROXY=http://127.0.0.1:8888/ export HTTPS_PROXY=http://127.0.0.1:8888/ zsh # you can alse use bash or other shell 

Этот фрагмент кода находится в файле с именем ~/bin/proxy_mode_shell и он создаст новый экземпляр оболочки zsh когда вам понадобится прокси. После завершения обновления вы можете просто нажать клавишу Ctrl+D чтобы выйти из режима прокси.

добавьте export PATH=~/bin:$PATH в ~/.bashrc или ~/.zshrc если вы не proxy_mode_shell напрямую запустить proxy_mode_shell .

Решение: это ваш прокси-сервер, который заблокировал, вы должны установить внешнее соединение, вы можете использовать USB-модем и повторную загрузку: composer.phar install php, я запускаю меня