トラフィック量が多いため、最近、Web サイトのサーバーをアップグレードしました。新しいサーバーでは、PHP のいくつかの側面が壊れているようです。機能していない非常に具体的なコードがあります。ただし、著作権上の理由により、機密ではない同等のものしか表示できません。
<?php
echo file_get_contents('http://www.google.com');
?>
このコードは、アップグレード前は完全に問題なく機能していましたが、現在はあちこちで奇妙な設定が行われており、このコードが機能していません。
具体的には、file_get_contents
入力した外部 URL に関係なく、関数はまったく機能しません (正常にfile_get_contents('index.php')
動作します)。
どんな助けでも大歓迎です!
更新 #1
このコードも機能しません。
<?php
ini_set("allow_url_fopen", "On");
echo file_get_contents('http://www.google.com');
?>
更新#2
このコードは機能します...
<?php
ini_set("allow_url_fopen", "On");
$url = "http://www.google.com/";
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, $url);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
$data = curl_exec($ch);
curl_close($ch);
echo $data;
?>
…でも、やろうとするとsimplexml_load_file($data);
悪いことが起こる。やったら同じsimplexml_load_file('http://www.google.com')
...