1

simplexml_load_file()RSS フィードのコンテンツを取得するために使用しています。

$rss = simplexml_load_file('http://www.iolproperty.co.za/roller/news/feed/entries/rss');

これはローカル サーバーでは期待どおりに機能しますが、クライアントの運用サーバーに展開するとサイレントに失敗し、空の結果が返されます。

このphpinfo()関数は、SimpleXML サポートが有効になっていることを示しており、リモート ファイルへのアクセスが許可されているようです (cURL 関数は問題なく動作します)。また、さまざまな RSS フィードを読み込んでみました。繰り返しますが、それらはローカルで動作しますが、デプロイされると空を返します。

4

3 に答える 3

5

simplexml_load_file外部ファイルをロードする場合は、そのallow_url_fopenディレクティブを有効にする必要があります。php.iniCurl 関数はこのディレクティブを必要としないため、うまく機能します。

于 2012-12-05T09:25:22.850 に答える
1

これを機能させるには、 allow_url_fopenオプションを有効に設定する必要があります。

于 2012-12-05T09:27:09.240 に答える
1

運用サーバーでは、悪用を防ぐために送信インターネット リクエストがブロックされている場合があります。別の理由として、PHP バージョンが異なるか、一部の mod が構成に含まれていないことが考えられます。エラー レポートを使用してエラー メッセージを確認する

error_reporting(E_ALL);

//アップデート

次のようにサーバーから値が返されるかどうかを確認することもできます

$c = implode('', file('http://www.iolproperty.co.za/roller/news/feed/entries/rss'));
print $c;
$rss = simplexml_load_string($c);

他の人が言っていることを確認し、allow_url_fopenオプションが有効になっているかどうかを確認します

于 2012-12-05T09:25:28.900 に答える