Hatena::ブログ(Diary)

もしもドロップシッピングと電脳卸アフィリエイト店長日記

2012-03-14

スタードメインとスターサーバープラス

スタードメインドメインを取ると、スターサーバーかスターサーバープラスが無料で利用できます。


スターサーバーは、phpとかが使えないが大容量10GBのディスク、サブドメインも50個で、スターサーバープラスは、phpMySQLが使えるが、ディスク容量は3GBで、サブドメインも10個まで。


つまり、プラスのほうなら、WordPressMTを使える。*1


もしもや電脳卸APIを使いたいので、プラスの方にしたのだが、上手くAPIが使えない。


調べてみたが、APIを使うのに、file_get_contentsという関数を使っていたが、サーバーPHPの設定でallow_url_fopenが無効になっていると外部サーバーへのアクセスができないようだ。

(前は、simplexml_load_fileを使っていたが、こちらも同様だと思う。file_get_contentsに換えたのは、中身のデータにXMLとしておかしなのがあったりしたことがあったので、いったん読み込んで、文字列置換してsimplexml_load_stringを使うようにしたため)

php.iniで設定できるサーバーもあるようだが、スターサーバープラスでは上手くいかなかった。phpプログラム内で設定しようとしたけどこれもだめででした(php4.3.3ぐらいからできないようになっているらしい)。


そこで、拡張機能cURLというのを使ってみたら上手く行った。

いままでのところでも使えるように、一応拡張機能なのであるかないかチェックして、なければfile_get_contentsを使うようにした。こんな感じです。


if(function_exists('curl_init')) {

$ch = curl_init();

curl_setopt( $ch, CURLOPT_URL, $request );

curl_setopt( $ch, CURLOPT_HEADER, false );

curl_setopt( $ch, CURLOPT_RETURNTRANSFER, true );

curl_setopt( $ch, CURLOPT_FAILONERROR, true);

$response = curl_exec( $ch );

curl_close( $ch );

} else {

$response = @file_get_contents($request);

}


APIとか実験してみたい人使えそうですよ。

*1Perlは使えないので、MTは使えませんでした。(3/16追記)

Moshi蔵Moshi蔵 2012/03/20 14:35 denjinmさま
今回はこの記事のおかげで当サイトで配布しておりますプラグインの改良を行うことができました。
ありがとうございました。
これを機会に今後共よろしくお願い申し上げます。

トラックバック - http://d.hatena.ne.jp/denjinm/20120314/1331739777

タグクラウド