PHP Compositeur derrière un proxy http
- Je utiliser compositeur sur un réseau où la seule façon d'accéder à internet utilise le protocole HTTP ou socks proxy. J'ai http_proxy et https_proxy variables d'environnement. Quand composer tente d'accéder à des Url HTTPS-je obtenir ceci:
file could not be downloaded: failed to open stream: Cannot connect to HTTPS server through proxy
Autant que je sache, la seule façon de se connecter à un site https est connecter à l'aide d'un verbe. Comment puis-je utiliser le compositeur derrière ce proxy?
- N'est-ce pas la réponse à votre question? -- stackoverflow.com/questions/15268093
- Comme je l'ai dit j'ai HTTP_PROXY / variable d'environnement http_proxy
- Peut-être que votre openssl extension est obsolète github.com/composer/composer/issues/2021
- Exécuter
composer diag
pour vérifier votre connexion. Compositeur dispose de deux méthodes de parler à des proxys, et probablement l'un étant utilisé est incorrect. - OpenSSL version 1.0.1.x et je suis en train de vivre la même question comme boldtrn sur Ubuntu 12.04.
- Vérification HTTP proxy: OK Vérification de proxy HTTP soutien pour request_fulluri: OK Vérification de proxy HTTPS soutien pour request_fulluri: ÉCHEC de l'Impossibilité de faire valoir la situation, peut-être github qui est en bas (Le "api.github.com/repos/Seldaek/jsonlint/zipball/1.0.0" le fichier n'a pas pu être téléchargé: failed to open stream: Impossible de se connecter au serveur HTTPS via un proxy)
- Mauvaise chose - qu'est ce que je suis aussi avec mon proxy, et je n'ai pas la solution. Pour ma situation, je soupçonne que le OpenSSL en PHP est défectueux, 0.9.8 série qui a besoin de quelques réglages. Le Compositeur de projet sera certainement besoin d'un peu d'aide dans ce, parce que les proxys sont une vraie douleur pour travailler avec, donc si vous souhaitez ouvrir un sujet sur github et de fournir autant d'information que possible, tout le monde finira par profiter d'une solution.
- github.com/composer/composer/issues/2041
- Nous développons sur Zend Server. Il n'existe aucune option de mise à jour intégré dans les bibliothèques OpenSSL. D'une certaine manière drôle parce que ZF2 applications dans Zend Studio "sont fondées" sur Compositeur fonctionnalités. Il m'a gardé des heures à trouver n la solution.
Vous devez vous connecter pour publier un commentaire.
Si vous êtes sous Linux ou Unix (y compris OS X), vous devez mettre ce quelque part qui va affecter votre environnement:
Vous pouvez le mettre dans
/etc/profile
à l'échelle mondiale affectent tous les utilisateurs sur la machine, ou de votre propre~/.bashrc
ou~/.zshrc
, en fonction du shell que vous utilisez.Si vous êtes sur Windows, ouvrez les Variables d'Environnement du panneau de contrôle, et d'ajouter un système ou de l'utilisateur, les variables d'environnement avec les deux
HTTP_PROXY_REQUEST_FULLURI
etHTTPS_PROXY_REQUEST_FULLURI
ensemble de0
oufalse
.Pour d'autres personnes à la lecture de ce (pas vous, puisque vous avez dit que vous avez ces set up), assurez-vous que
HTTP_PROXY
etHTTPS_PROXY
sont définies sur le bon proxy, en utilisant les mêmes méthodes. Si vous êtes sous Unix/Linux/OS X, définissant à la fois minuscules et majuscules versions du nom de la variable est l'approche la plus complète, que certaines choses utiliser uniquement la version en minuscules, et IIRC une certaine utilisation de la majuscule. (Je suis souvent à l'aide d'une sorte d'hybride de l'environnement, de Cygwin sous Windows, et je sais que pour moi, il était important d'avoir les deux, mais pure Unix/Linux environnements pourriez être en mesure de s'en tirer avec seulement minuscules.)Si vous ne pouvez toujours pas obtenir les choses de travail après que vous avez fait tout cela, et vous êtes sûr que vous avez la bonne adresse proxy ensemble, puis vérifier si votre entreprise utilise un serveur proxy Microsoft. Si oui, vous avez probablement besoin d'installer Cntlm comme un enfant de proxy pour se connecter entre le Compositeur (etc.) et Microsoft proxy server. Google CNTLM pour plus d'informations et des instructions sur la façon de les mettre en place.
Si vous utilisez Windows, vous devez définir les mêmes variables d'environnement, mais le style des Fenêtres:
Qui va travailler pour votre cmd.exe. Si vous voulez faire cela, plus permanente, y vous suggérons d'utiliser les variables d'environnement de votre système.
Essayez ceci:
résolu ce problème pour moi de travailler derrière un proxy dans une entreprise, il ya quelques semaines.
Si vous devez utiliser des informations d'identification essayez ceci:
HTTP_PROXY_REQUEST_FULLURI
retour à1
et encodage mon mot de passe correctement sur Windows.Cela fonctionne , ce qui est mon cas ...
Remplacer avec votre adresse IP et le Port
iconoclaste de la réponse n'a pas de travail pour moi.
J'ai mis à jour mon php 5.3.* (xampp 1.7.4) à 5,5.* (xampp 1.8.3) et le problème a été résolu.
Essayer iconoclaste de la première réponse, si elle ne fonctionne pas, alors la mise à niveau peut résoudre le problème.
Vous pouvez utiliser la norme
HTTP_PROXY
environnement var. Il suffit de le mettre à l'URL de votre serveur proxy. De nombreux systèmes d'exploitation déjà défini cette variable pour vous.Il suffit d'exporter la variable, alors vous n'avez pas à taper tout le temps.
Ensuite, vous pouvez faire
composer update
normalement.sur Windows insérer:
avant
ou sur Linux insérer:
avant
selon les idées ci-dessus, j'ai créé un script shell que pour faire un environnement de proxy pour compositeur.
Ce morceau de code dans un fichier nommé
~/bin/proxy_mode_shell
et il va créer un nouveauzsh
instance du shell lorsque vous avez besoin de proxy. Après la mise à jour terminée, vous pouvez simplement appuyer sur la toucheCtrl+D
pour quitter le mode proxy.ajouter
export PATH=~/bin:$PATH
à~/.bashrc
ou~/.zshrc
si vous ne pouvez pas exécuterproxy_mode_shell
directement.Operation timed out (IPv6 questions)#
Vous pouvez rencontrer des erreurs si IPv6 n'est pas configuré correctement. Une erreur commune est:
Nous vous recommandons de fixer votre configuration IPv6. Si cela n'est pas possible, vous pouvez essayer les solutions suivantes:
Solution Linux:
Sur linux, il semble que l'exécution de cette commande permet de faire le trafic ipv4 ont une plus grande priorité que l'ipv6, qui est une meilleure alternative que la désactivation de l'ipv6 entièrement:
Solution Windows:
Sous windows, le seul moyen est de désactiver ipv6 entièrement j'ai peur (dans windows ou dans votre routeur domestique).
Solution de contournement Mac OS X:
Obtenir le nom de votre périphérique réseau:
Désactiver IPv6 sur cet appareil (dans ce cas "Wi-Fi"):
Exécuter compositeur ...
Vous pouvez activer l'IPv6 à nouveau avec:
Cela dit, si cela résout votre problème, veuillez vous adresser à votre fournisseur de services internet à ce sujet pour essayer de résoudre les erreurs de routage. C'est la meilleure façon d'obtenir les choses résolu pour tout le monde.
En espérant que cela vous aidera!