Posso fazer um pedido CURL para o mesmo servidor?

Eu preciso implementar uma maneira de fazer chamadas POST para páginas localizadas no mesmo servidor ou em outro servidor. Não podemos usar include porque os arquivos que estamos chamando costumam chamar diferentes bancos de dados ou ter funções com o mesmo nome.

Eu tentei implementar isso usando curl, e enquanto ele funciona perfeitamente ao chamar arquivos de outro servidor, não recebo absolutamente nada ao fazer uma chamada para o mesmo servidor onde está o arquivo.

EDITAR ADICIONAR ALGUNS CÓDIGO: uma versão simplificada do que estou fazendo:

File1.php

 

File2.php

  

Depois de chamar File1.php, não recebo nada, mas se File2.php estiver em outro servidor, então recebo um resultado. Qualquer ajuda?

Tentei usar o URL do servidor (http …) e o endereço total dos arquivos (/ home / wwww ….)

   

Esteja ciente de que, se você estiver enviando o pedido CURL para seu próprio site, você está usando o manipulador de session padrão e a página que você está solicitando via CURL usa a mesma session que a página que está gerando o pedido, você executará em uma situação de impasse.

O manipulador de session padrão bloqueia o arquivo de session durante o período de solicitação da página. Quando você tenta solicitar outra página usando a mesma session, essa solicitação subseqüente será suspensa até que o pedido expire ou o arquivo da session esteja disponível. Uma vez que você está fazendo um CURL interno, o script executando CURL mantém um bloqueio no arquivo de session e a solicitação CURL nunca pode ser concluída, pois a página de destino nunca pode carregar a session.

Porque quando você tentou solicitar ao servidor local o IP público, o apache não pôde resolver seu domínio local. Então você deve verificar qual local ip apache está usando para esse domínio. Então você precisa editar o arquivo / etc / hosts e adicionar a nova linha com ip local mais seu domínio. Por exemplo:

Meu ip local para esse domínio no host virtual do apache é: 172.190.1.120 e meu domínio é mydomain.com. Então, irei adicionar:

172.190.1.120 mydomain.com

Então o seu curl funcionará corretamente.

Você deve refatorar seu código. Além do que Marc B mencionou, essa abordagem retardará desnecessariamente o seu roteiro (potencialmente por uma grande margem) e causará muita confusão. Sem ofensa, mas esta é apenas uma correção incrivelmente hackeada para a lógica ruim.