Hola comunidad, tengo este problema que me agobia bastante: sucede que estoy trabajando para crear un sistema que se autentique con LDAP, pero en mi empresa estoy bajo un proxy.
Esta empresa tiene un repositorio de Composer del cual, haciendo las configuraciones de repositories : "configs"
en el archivo composer.json
del proyecto, puedo descargar los bundles que tiene dicho repositorio.
Pero sucede que los bundles que necesito para LDAP no los tiene y tuve que bajarlos de Internet, los puse manualmente, pero cada vez que instalo un nuevo bundle desde ese repositorio, cuando composer actualiza/genera el /vendor/composer/autoload_namespaces.php
me borra las entradas que había puesto manualmente, y la aplicación estalla.
Ahora bien, estoy intentando instalarlos desde Internet, pero antes, al hacer el composer diag
no me da conexión con Internet porque estoy bajo el proxy, del cual es necesario loguearse para poder acceder a internet. Quiero hacerlo así porque detesto estar tocando el código fuente pues eso trae un sin fin de problemas, además que no es una buena práctica de cierta manera.
Actualmente trabajo en un sistema operativo Unix/Linux para ser preciso Linux Mint 17.1 y le he seteado en la consola la variable http_proxy="valores"
con export http_proxy="127.0.0.1:3128"
. Solo con esta configuración pues tengo cntlm
puesto en el sistema el cual se encarga de las peticiones del proxy de la empresa y entrega el servicio por el puerto 3128
al localhost y no me trabaja. También intenté con git config --global.http_proxy <valores>
y NADA!!!
Por favor, alguien que como yo haya estado bajo esta misma situación y haya resuelto, necesito de su ayuda.
Saludos.
Respuestas
Creo que tu pregunta son en realidad varias preguntas en una. Como no uso proxys no puedo ayudarte mucho en esa parte. Pero sí veo que Composer define varias opciones de configuración relacionadas con los proxys.
En concreto, la opción HTTP_PROXY_REQUEST_FULLURI
indica lo siguiente (quizás puedes jugar con el valor de esta opción para ver qué pasa):
If you use a proxy but it does not support the request_fulluri flag, then you should set this env var to false or 0 to prevent composer from setting the request_fulluri option.
Por otra parte, hablas de descargar a mano varios paquetes, pero es algo que no acabo de entender. Siempre que estén publicados en algún sitio, puedes hacer que Composer los descargue simplemente definiendo un "repository virtual" dentro de tu archivo composer.json
.
Por último, tampoco entiendo mucho lo de que añadas a mano las entradas de la carga automática de clases. Si necesitas añadir este tipo de configuración, tienes que hacerlo en el archivo app/autoload.php
que es el archivo Symfony que se encarga de eso y así no perderás los cambios al actualizar Composer.
@javiereguiluz
Para Linux Mint:
sudo nano /etc/environment
(O el editor que prefieras)
Agrega lo siguiente
http_proxy=http://aqui.tu.proxy:8080/ https_proxy=http://aqui.tu.proxy:8080/ ftp_proxy=http://aqui.tu.proxy:8080/ no_proxy="localhost,127.0.0.1,localaddress,.localdomain.com" HTTP_PROXY=http://aqui.tu.proxy:8080/ HTTPS_PROXY=http://aqui.tu.proxy:8080/ FTP_PROXY=http://aqui.tu.proxy:8080/ NO_PROXY="localhost,127.0.0.1,localaddress,.localdomain.com"
En /etc/apt/apt.conf.d/
crea un fichero que se llame 95proxies
y dentro:
Acquire::http::proxy "http://aqui.tu.proxy:8080/"; Acquire::ftp::proxy "ftp://aqui.tu.proxy:8080/"; Acquire::https::proxy "https://aqui.tu.proxy:8080/";
Reinicia.
Me pasó lo mismo en Windows, pero allí solo tenía que agregar HTTP_PROXY a las variables de entorno
@SakyaStelios