http://php.net/manual/en/function.socket-set-timeout.php

роблема, кажется, обсуждалась в прошлом повсюду в Google и здесь, но я до сих пор не нашел решения.

Очень простой fopen дает мне

Предупреждение PHP: fopen (http://www.google.ca): не удалось открыть поток: не удалось выполнить HTTP-запрос! ".

URL, который я получаю, не имеет значения, потому что даже когда я получаюhttp://www.google.com это не работает. Точно такой же скрипт работает на другом сервере. Единственный сбой - Ubuntu 10.04 и PHP 5.3.2. Это не проблема в моем скрипте, это что-то другое на моем сервере, или это может быть ошибка в PHP.

Я пытался использовать user_agent в php.ini, но безуспешно. Мой allow_url_fopen установлен на On.

Если у вас есть идеи, не стесняйтесь!

 mickey05 янв. 2011 г., 21:36
@Viper_Sb: без разницы DNS работает правильно, а все остальное, я могу wget или lynx для веб-сервера, это просто fopen
 Pekka 웃05 янв. 2011 г., 21:21
Вы можете сделатьwget http://www.google.ca из командной строки? Являетсяfopen() не дает больше информации об ошибках?
 mickey05 янв. 2011 г., 21:36
@Pekka да, я не могу получить проблемы таким образом
 Viper_Sb05 янв. 2011 г., 21:24
Вы можете сделать fopen ('173.194.43.104')? (это ip google.ca), может быть, DSN не доступен PHP на этом сервере?
 Viper_Sb05 янв. 2011 г., 21:44
вот почему я сказал, что, возможно, он не доступен для PHP, он может работать просто отлично, но PHP не имеет к нему доступа.

Ответы на вопрос(1)

что вашей конфигурации не разрешено использовать файловые функции, что часто происходит из-за проблем безопасности. Если у вас есть библиотеки cURL, я бы порекомендовал попробовать их.

PHP: cURL

$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, "http://www.google.ca/");
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
$file = curl_exec($ch);
curl_close($ch);

echo $file;

Ваш ответ на вопрос