wpXサーバー simplexml_load_fileが使えない原因と対処法
レンタルサーバー、XserverからwpXにWordPressを引っ越しした時に、functions.phpにオリジナルに記述した、
- simplexml_load_file
- file_get_contents
関数が使えなくなった。
原因は、php.iniの設定でallow_url_fopenがOffになっていると思われるが、一応wpXに連絡してみた。
土曜日に質問したので、返信は来週の月曜日かなぁと思っていたら、次の日の日曜日に返信が来ました(・o・)
allow_url_fopen = ON
では、外部の任意のスクリプトを実行される危険性があるので、当然といっちゃぁ当然ですが(^^ゞ
しかし、wpXのサポートは早いですねぇ。
wpXの詳細はこちら
で、対処法としましては次の関数を新しく追加して、
1 2 3 4 5 6 7 8 9 10 |
function curl_get_contents( $url, $timeout = 60 ){ $ch = curl_init(); curl_setopt( $ch, CURLOPT_URL, $url ); curl_setopt( $ch, CURLOPT_HEADER, false ); curl_setopt( $ch, CURLOPT_RETURNTRANSFER, true ); curl_setopt( $ch, CURLOPT_TIMEOUT, $timeout ); $result = curl_exec( $ch ); curl_close( $ch ); return $result; } |
simplexml_load_file関数を使っていたソースコードを次のように変更するとOK!
参考元サイト
1 2 |
$result = curl_get_contents('https://www.◯◯◯.com/atom.xml' , 120); $rssData = simplexml_load_string($result); |
file_get_contents関数は、
1 2 |
$url = 'https://www.◯◯◯.com/'; $json = file_get_contents($url); |
を次のように変更すればOK!
1 2 |
$url = 'https://www.◯◯◯.com/'; $json = curl_get_contents($url); |
[…] 以下の参考URLを参考に、ECCUBEの商品RSSを取得するためのPHPコードになります。 参考URL:http://daisukebe.net/php-rss/ SimpleXml関数を利用します。詳しくはまだ知りませんが、XMLデータを簡単にオブジェクト化してくれるもののようです。 「simplexml_load_string」にRSSのURLを入れることによってRSSを配列として取得できます。しかし、ラピッドサイトのVPS-Sプランではうまく動作しなかったため調べてみたところ、以下の参考URLをもとに修正したら表示されました。 参考URL:https://seoaffiliate.org/archives/2544.html […]
[…] wpXサーバー simplexml_load_fileが使えない原因と対処法 […]
[…] wpXサーバー simplexml_load_fileが使えない原因と対処法 | トレンドアフィリエイト初心者がブログで稼ぐ方法とコツの仕組み […]
[…] 以下の参考URLを参考に、ECCUBEの商品RSSを取得するためのPHPコードになります。 参考URL:http://daisukebe.net/php-rss/ SimpleXml関数を利用します。詳しくはまだ知りませんが、XMLデータを簡単にオブジェクト化してくれるもののようです。 「simplexml_load_string」にRSSのURLを入れることによってRSSを配列として取得できます。しかし、ラピッドサイトのVPS-Sプランではうまく動作しなかったため調べてみたところ、以下の参考URLをもとに修正したら表示されました。 参考URL:https://seoaffiliate.org/archives/2544.html […]