PHP no Linux: Como fazer o PHP usar configurações de proxy para se conectar à internet?

11

meu servidor está em uma LAN e está conectado à internet por meio de um servidor proxy. meu aplicativo PHP (Drupal), deve ser capaz de verificar se há atualizações através de códigos PHP. Como posso definir configurações de proxy para PHP para que funcione corretamente?

Observação : sei que posso definir configurações de proxy em curvas ou outra coisa. mas o caso é que o código não é meu e eu não quero mudá-lo. Eu só quero fazer o PHP sempre se conectar à internet através de configurações específicas de proxy.

    
por Alexar 15.10.2010 / 11:01

5 respostas

6

Este recurso não é implementado em php, mas estava em discussão: link

se você tiver php > = 5.3, você pode usar a configuração auto_prepend ini para incluir um script que use stream_context_set_default () para definir um proxy padrão. mas isso só irá definir um proxy para as partes do php que usam o contexto padrão, não testei isso, mas acho que enrole o exemplo.

    
por 31.01.2011 / 11:59
1

Já tentou definir variáveis de ambiente?

link link

    
por 15.10.2010 / 11:18
0

Não sei sua distribuição, mas no SUSE você pode editar o arquivo /etc/sysconfig/proxy e inserir um ou vários servidores proxy para uso em todo o sistema.

Aqui está um exemplo:

## Path:        Network/Proxy
## Description:
## Type:        yesno
## Default:     no
## Config:      kde,profiles
#
# Enable a generation of the proxy settings to the profile.
# This setting allows to turn the proxy on and off while
# preserving the particular proxy setup.
#
PROXY_ENABLED="yes"

## Type:        string
## Default:     ""
#
# Some programs (e.g. lynx, arena and wget) support proxies, if set in
# the environment.  SuSEconfig can add these environment variables to
# /etc/SuSEconfig/* (sourced by /etc/profile etc.) -
# See http://portal.suse.com/sdb/en/1998/01/lynx_proxy.html for more details.
# Example: HTTP_PROXY="http://proxy.provider.de:3128/"
HTTP_PROXY="http://your.proxy.here:3128"

## Type:        string
## Default:     ""
#
# Some programs (e.g. lynx, arena and wget) support proxies, if set in
# the environment.  SuSEconfig can add these environment variables to
# /etc/SuSEconfig/* (sourced by /etc/profile etc.) -
# this setting is for https connections
HTTPS_PROXY="http://your.proxy.here:3128"

## Type:        string
## Default:     ""
#
# Example: FTP_PROXY="http://proxy.provider.de:3128/"
#
FTP_PROXY="http://your.proxy.here:3128"

## Type:        string
## Default:     ""
#
# Example: GOPHER_PROXY="http://proxy.provider.de:3128/"
#
GOPHER_PROXY=""

## Type:        string(localhost)
## Default:     localhost
#
# Example: NO_PROXY="www.me.de, do.main, localhost"
#
NO_PROXY="localhost, 127.0.0.1"
    
por 15.10.2010 / 11:28
0

Se o seu servidor estiver conectado de tal forma que só possa enviar solicitações http por meio do proxy, não será necessário fazer alterações. No entanto, você deve certificar-se de que as solicitações http sejam feitas por meio do proxy.

Observe também - seu proxy pode não estar lidando com todas as solicitações - apenas http / https. O tráfego pode estar passando pelo proxy, mas se o proxy não estiver configurado para lidar com eles de qualquer maneira, eles poderão passar sem muito rastreamento.

Se você acha que isso pode estar acontecendo, eu apertar o firewall no servidor PHP para que ele possa enviar apenas os tipos especificados de tráfego para locais especificados. Você deve então ser capaz de ver o que está falhando e tomar as medidas adequadas.

    
por 15.10.2010 / 12:13
0

você ainda precisa de informações?

de qualquer forma - para constar: um longo e notável problema está no drupal link - realmente estranho. - e há muito mais

Eu atualizei meu código principal, mas é preciso rastrear as alterações de patches na atualização e não é bom.

Se há uma maneira de fazer o php usar o proxy de todo o sistema, não tenho idéia, procurar por ele foi tedioso.

cumprimenta

    
por 27.01.2011 / 11:14

Tags