株式会社ドリル Home > アメブロカスタマイズ > その他のカスタマイズ > 【アメブロカスタマイズ】自動投稿プラグインの導入方法を解説

【アメブロカスタマイズ】自動投稿プラグインの導入方法を解説

たまにクリックで応援して頂けると、励みになります。
⇒《人気ブログランキング》

2013 01 08 1911

こんにちは、ドリル 鈴木です。
今日はこのブログで配布しているプラグインの導入について解説したいと思います。

 

アメブロの仕様変更により一度動かなくなってしまったこのプラグインですが、何とか復旧する事が出来ました。
しかし、この変更により新しくPHPのPEARを利用してる為、コメントなどで対応方法についてご質問頂きました。

 

この様な部分はサーバによって設定方法が異なる可能性があるため、今回は私の方法を参考例としてご紹介させて頂きます。
それでは、スタートです。

 

PEARとは?

PEARとは「PHP Extension and Application Repository」の略です。
詳しくは公式サイトでは以下の様に説明されています。

  • PHPユーザを対象とする、オープンソースなコードの構造化されたライブラリ
  • コード配布およびパッケージ管理のためのシステム
  • PHPのコード作成に関する標準スタイル

さらに「ライブラリ」とは機能を追加する為のプログラム群です。
基本的にはブラックボックスになっていて、インプット/アウトプットの仕様が公開されています。
つまり、仕様にそったインプット(値を設定して呼出し)を行えば決まった通りの処理がされ、仕様にそったアウトプット(結果)を手に入れる事が出来るものです。

 

ブラックボックスとは内部の動作原理や構造を理解しなくても、仕様通りに使えば結果を得る事ができる仕組みの事で、ライブラリはこの様に誰でも使いやすい様に作られています。

 

とは言っても、結局は「PHPを使ったプログラム」である事に変わりはありません。
以降の説明の為にも、そこは忘れないで下さい。

 

自動投稿プログラム仕様変更の概要

昨年11月に行われたアメブロの仕様変更に伴い、ワードプレス用プラグインの投稿プログラムを修正を行いました。

 

以前の記事でも書いているのですが、プログラムの作りが大きく変わっています。
プログラムのどこの箇所かと言うと、アメブロとワードプレスで通信を行う際に利用するプログラムです。

 

以前は「cURL」という関数を使用していたのですが、修正後は「http_request」というPEARを利用する様になりました。
この理由はアメブロの仕様変更後も細かい修正をしなくても「http_request」であれば接続が可能であった為です。

 

本当は「cURL」でも細かく調整すれば可能なのかも知れませんが時間がなかった為、「http_request」に変更する事で対処しました。
しかしここで大きな問題として、「http_request」と言うPEARが全てのサーバにデフォルトで導入されているものではないと言う所です。

 

もしあなたのサーバに「http_request」が導入されていない場合は導入しなければいけません。
すなわち「http_request」と言うライブラリ(PHPのプログラム)がサーバに存在する様にしなければいけないと言う事になります。
ワードプレを運用しているサーバに「http_request」が存在して始めて利用する事が出来ます。

 

ここで誤解しないで頂きたいのが、決して「サーバの設定」ではなく「プログラムが存在しているかどうか」だと言う事です。
設定はそのプログラムを読込む際に必要になります。

 

私が行った導入方法

それでは早速、私が行った導入方法について解説したいと思います。
先程説明した様にプログラムがサーバに存在すれば言い訳ですので、まずはPEARのhttp_requestのページにアクセスして下さい。
http://pear.php.net/package/HTTP_Request

 

ここで、もしサーバがSSLを使ったコマンドラインでのアクセスが可能であれば記述されているコマンドを入力する事で導入する事が可能だと思います。
ただ今回は汎用性の高いであろう、ファイルをダウンロードする方法を紹介したいと思います。

 

ファイルをダウンロード

http_requestのページにアクセスしたら、Downloadのタブをクリックします。
ページが切り替わったらDownloadと書いてある下のリンクよりファイルをダウンロードします。

ダウンロードしたファイルは圧縮されているので解凍します。
解凍できたらフォルダの中を見てみると、「HTTP_Request-x.x.x」というフォルダが存在します。
この「x.x.x」はプログラムのバージョンです。

 

ファイルをFTPでアップロード

次に自分のサーバにFTPで接続します。
そして先程解凍した中のフォルダをサーバにアップロードします。

この際アップロードするフォルダは特に指定はないのですが、ブラウザからアクセスできない場所がいいと思います。
アップロードしたらフォルダ名を変更して下さい。
「HTTP_Request-x.x.x」から「HTTP」にします。 これが一般的なアップロード後のフォルダ名だと思います。

次にフォルダのパーミッションを確認して下さい。 
アップロードした「HTTP」だけでなく、その上のフォルダも含めて私は「766」で設定してあります。 
ここの設定によってはプログラムが読込めずにエラーになってしまう場合があるので注意して下さい。

 

.htaccessまたはプラグインのプログラムを修正する

ファイルのアップロードとパーミッションの設定が完了すればPEARは利用可能な状態になっていると言えます。
あとは実際にアメブロ自動投稿プラグインで読込めば完了ですが、この方法は二つあります。

一つはサーバの設定ファイル「.htaccess」でPHPでライブラリを読込む際のフォルダに先程アップロードしたフォルダを追加する方法です。
すでに公開ディレクトリの直下に「.htaccess」が存在しているなら簡単で、以下に書いてある設定の項目を追記します。

もし現状存在しないならテキストファイルに下記の項目を貼付け「htaccess」と言うファイル名を付けて保存します。
そして、FTPにて公開ディレクトリの直下にアップロードし、ファイル名を「.htaccess」に変更します。

この際の注意点は2つあります。
1つめは、拡張子をつけない様にして下さい。
2つめは、「.htaccess」への変更はサーバにアップロードした後に行って下さい。

「.htaccess」に記述する設定は以下の通りです。
コピーして利用して下さい。

    php_value include_path ".:アップロードしたディレクトリ"

PHP4の場合は「mod_php4.c」に適宜変更して下さい。
また、「アップロードしたディレクトリ」とは「HTTP」ではなくその上の階層を指定します。
プログラムで外部のプログラムを読込む際に、ここで記述したディレクトリ配下のフォルダが自動的に読込み対象になります。

 

2つめの方法が当サイトで配布しているプラグインのプログラムを直接修正する方法です。
「.htaccess」が使えない場合や、どうしてもうまく読込まれない場合はこちらを試してみて下さい。

まず、当サイトからダウンロードしたファイルを解凍して下さい。
「ameblo-auto-post」と言うフォルダが出来るので、その中を開き「index.php」をテキストエディタで開きます。

次にプログラムの16行を見ると、以下の様に記述されていると思います。

require_once "HTTP/Request.php";

実際にはここで「http_request」のプログラムを読込んでいます。
しかし、サーバに「http_request」が導入されていなかったり、「.htaccess」でも設定されていないとエラーになってしまう訳です。

そこで、ここを先程ファイルをアップロードしたディレクのフルパスに変更します。
ここでの注意点は「http://hoge.com/...」ではありません。
「/var/www/...」と言った記述をする必要があります。
この記述方法についてはサーバ毎で資料があると思いますので、そちらでご確認下さい。

プログラムの修正が終わったら、FTPを使いサーバに上書きアップロードします。
これで完了になります。

 

動作確認方法

PEARの導入およびライブラリ読込みの設定が完了したら、動作確認を行います。
まずはワードプレスの管理画面を開き、プラグインのページを開いて「ameblo-auto-post」を有効化して下さい。

 

次に「ameblo-auto-post」の設定を行います。
「設定>Ameblo Auto Post Setting」を開き、「アメブロ名」「アメブロID」「アメブロパスワード」を入力して「設定変更」をクリックします。

 

ページの下の方に「アメーバとの連携が確立しました。」と表示されれば正常終了になります。
もしPEARが読込めていなければ設定画面を開いた時点でPHPのエラーが表示されると思います。

 

読込みエラーの際は以下の様なメッセージが画面に表示されているのではないでしょうか。
「Fatal error: require_once() [function.require]: Failed opening required」
または
「failed to open stream: No such file or directory in」
などです。

 

どちらもファイルやプログラムの読み込みで指定されたファイルが存在しない場合に表示される物です。
その際は、以下の点について今一度確認して下さい。

  • アップロードしたフォルダのパーミッション
  • 「.htaccess」の記述内容
  • 「index.php」で修正したフルパス

このどこかで間違えている可能性が高いです。
あるいは、サーバの仕様の可能性もあるので、合わせて確認してみて下さい。

 

まとめ

あまり深く考えずにプログラムを再配布開始してしまったため、サポート記事が遅くなってしまいごめんなさい。
一応、この記事が私がアップロードの際に対応した方法になります。

 

しかし、どうしてもサーバの仕様に左右されてしまう為、全ての方がこの方法で解決できるとは限りません。
もしこの記事で書いた方法でも解決できない場合は、コメントにてご質問下さい。
その際、エラーの内容や使っているサーバの情報も頂けると助かります。
(記述する内容には十分ご注意下さい)

 

また、お問い合わせからでもご対応可能です。
お気軽にご連絡下さい。
その他のお問い合わせも同様にお願い致します。

 

ちなみに、プログラムのバージョンアップは。。。
今しばらくお待ち下さい。

 

以上、鈴木でした。

 

 

たまにクリックで応援して頂けると、励みになります。
⇒《人気ブログランキング》

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です