Configuração:
- cURL 7.32.0
- Apache 2.2.25
- PHP 5.5.4
Sempre que tento:
$ch = curl_init('www.google.com');
curl_exec($ch);
var_dump(curl_error($ch));
dentro do PHP, eu recebo:
Could not resolve host: www.google.com
Se eu mudar para curl_init('80.233.168.207')
(resolvido google.com), o script será executado.
Embora, executando curl www.google.com
na CLI, recebo uma página 302 Moved
HTML, devido ao redirecionamento para o site localizado (* .lv), mas ainda assim, isso significa que o cURL foi executado com êxito.
Já vi várias perguntas semelhantes (não no SE), a maioria delas dizendo que o Apache foi iniciado antes ou ao mesmo tempo com o Network Manager, portanto, não recebendo informações de DNS. A maioria das perguntas tem respostas explicando que o problema pode ser temporariamente resolvido / depurado, parando explicitamente e, em seguida, iniciando o daemon do Apache (em vez de restart / graceful-restart).
fsockopen
, file_get_contents
funciona perfeitamente, no entanto.
Meu host virtual do Apache:
<VirtualHost *.777>
ServerAdmin [email protected]
ServerName localhost
DocumentRoot "/srv/stone/public"
ErrorLog "/srv/stone/app/storage/logs/apache-errors.log"
CustomLog "/srv/stone/app/storage/logs/apache-custom.log" common
<Directory /srv/stone/public>
php_admin_value open_basedir /
# Pretty URL rewrites, better not to rely on .htaccess
<IfModule mod_rewrite.c>
Options -MultiViews
RewriteEngine On
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^ index.php [L]
</IfModule>
# Prevent further overrides
AllowOverride None
Order allow,deny
Allow from all
</Directory>
</VirtualHost>
E a configuração global só tem uma entrada específica para Listen 777
.
Isto e isso , ambos levam ao problema de DNS, então, eu acho que posso ter problemas com isso também Além disso, parece claramente.
Eu dei uma chance mudando as entradas do host virtual para 0.0.0.0:777
e outras configurações sem sucesso.
Como corrijo o problema?