name_untitledのエッセイ

IT関係で知ったことなどを記事としてあげていきます。内容に不備や質問などあればぜひコメントをよせてください。

OpenShift でLineBotを作る。(PHP)

OpenShiftで、Lineボットを作った。

github.com

つかったのは、TinySDKの方のEchoBotサンプル。

通常版のSDKのEchoBotのサンプルはSlimを使っていて、

OpenShift上でポートのListenがうまく行かなかったので断念。

まずは、サーバーソフトのnginxとは、最近メジャーなwebサーバーで、Apacheより多くのリクエストをさばくことができるらしい。ただ、Apacheよりも元の機能は少ないらしい。PHPについていうと、別のプロセスで実行されているものをソケットで呼び出すという形で呼び出すことになるそうだ。

www.atmarkit.co.jp

このカートリッジからnginxをインストール。

github.com

LineBotSDKではPHP5.6以上が必要らしいので、 同じ人のPHPカートリッジを追加する。あ、でもTinySDKなら普通のPHPカートリッジで良いかも。

github.com

 

そのあと、上記のLineBotSDKに載っているEchoBotのサンプルを展開する、とオウム返ししてくれる。

 

ちょっと勉強になったので、もろもろリンク集を載せておく。

 

 

以下は、通常版のSDKに一緒に載っているEchoBotを構築する際の試行錯誤のメモ。構成としては、nginx+PHP+Slimフレームワークで、きれいな気がする。

 

 

OpenShiftでデプロイしたファイルはこんな感じで展開される。ディレクトリをたぐって、composerを実行して、依存性を解決する?

developers.openshift.com

 

いや、多分↑はやり方を間違えている。OpenShiftはComposerを利用する場合にMarkerと言われるファイルを作成すると利用出来るようになるらしい。ただ、まだうまく行っていない、、、。

qiita.com

 

developers.openshift.com

ComposerはOpenShiftで使えるはずだが、うまく構成出来ていないとログに、autoload.phpが読み込めないというエラーが出る。

stackoverflow.com

 

Slimフレームワークについての説明はこちらのサイトが詳しい。

qiita.com

blog.orepedia.com

Web Servers - Slim Framework

 

OpenShift上でnginxサーバーでPHPのSlimで動かすようにしたいが、設定が終わったと思って動かしたら、ゲートウェイエラーが返ってきた。

kawatama.net

 

OpenShiftカートリッジで、上手くエントリポイントの設定が出来ていない。サンプルでは最後にこんなコマンドを実行して、待ち受けを開始する。

php -S 0.0.0.0:8080 -t public

が、OpenShiftでは権限エラーとなるので、別の方法で開始する必要がある。