1月 082014
 
シェアする

Server for PHP今回Android(Nexus7/Nexus5)上でPHPの実行をしたいと思いました。
退勤時間中、よく電車の中ではGoogle先生とお話するのですが、気になって調べて見つけた!!試したい!!うだぁー!と思う時、PHPコードをすぐに手元で実行したいんです。これがまるで困った子供ようですよね。好きですか?爆笑

だって家に帰ってからPC起動してPCの前に座ってぽちぽちする時間がないから。゚(゚´Д`゚)゜。ウァァァン!
いいえ、ただ面倒くさいだけですが、なにか?ww

Android上でPHPを実行するために

GoogleやGoogle Playで検索して調べてみると、よく該当するものが以下の二つ。

  • Webサーバー、MySQL、PHPがセットになっているアプリ
    Android上でXAMPPのとほぼほぼ同じ環境が用意できるもの
  • PHPを使ってAndroidの操作を行える開発環境のアプリ
    Android端末の操作(バイブレーションなど)を行うスクリプトを開発実行できるアプリ

今回はAndroid上で単純にPHPファイルを実行したいので、上記のようなアプリは必要ありません。特に端末をいっちょまえのWebサーバーとして利用したいわけでもないし、電車の中でDBの作成をしてそのDBを利用するPHPの処理を動作検証したいわけでもないのです。

ただ単純に、[php]<?php echo “hello japan”; ?>[/php]と書いたファイルをなんらかの方法で実行し、結果として「hello japan」って表示されるだけでいいのです。ってそういうレベルではないけど

いろいろと調べてみた結果

Server for PHP

Google Playからダウンロードできる Server for PHP が探していたアプリだった!

Server for PHP

PHP5.4.0からPHPの機能として用意されているビルドインのWebサーバを活用したアプリで、
現在のところPHPのバージョンは5.4.15。モジュールとして以下が利用できるようになっている模様。

bcmath, bz2, dom, ereg, fileinfo, ftp, gd, hash, iconv, intl, libxml, mbstring, mysql, mysqli, mysqlnd, openssl, pcre, pdo, pdo_mysql, pdo_sqlite, simplexml, sqlite, sqlite3, xml, xmlreader, xmlwriter, xsl, zip, zlib; phar, soap, sockets, reflection, session, tokenizer, spl, filter, ctype, date, json; also has proper support for DNS.

推奨される利用用途としては、開発時やアクセス数が限りなく少ないWebサイトでの利用とされている。というのも、このアプリの弱点として、一度に1リクエストしか処理ができないからだ。例として、Android mini PCを利用して小さなプロジェクトの開発をする時があげられている。

今回の目的は、「Android上で単純にPHPファイルを実行したい」ので、このアプリで十分といえる。

機能として、Androidの電源Onと同時に起動するように設定することができたり、もちろんWebコンテンツのドキュメントルート(デフォルトはsdcard/www)を変更することやListen(Webアクセスを待ち受けする)ポート番号も変更できる。ポート番号はどうやら4桁の縛りがあるようだが、正式なドキュメントは確認できていません。

このアプリがあれば、もう怖いものなし!Android端末だけでネットで見つけた記述をインスタントに確認できます。

私は、Android端末内に簡易PHP実行環境をそろえる上で、Server for PHPに加えて以下のアプリをインストールしました。

PHP Editor CR

PHP EditorシンプルはPHPエディター。

シンプルといっても、functions、variables、methods、constantsの色づけ表示を行ってくれるし、 オートコンプリートと検索/置換機能が備わっています。

PHP Editor CR

 

 

ファイルマネージャ(File Manager)

File Manager

優秀そうなファイルマネージャー

* 切取り、コピー、貼り付けをサポート、プログレスバーの表示あり、随時中止可能。
* ファイルのアーカイブ及び展開、日本語の文字化け解消にサポート。
* ファイルの検索及び共有可能。
* 複数選択及び数多くの配列方法に対応。
* 画像、写真及びアプリケーションアイコンのサムネイル表示に対応。
* Dropbox, Box, Google Drive, SkyDrive, Yandex Disk, Ubuntu OneとSugarSyncに対応。など
ファイルマネージャ (File Manager)

 

参考までに、上述した「Webサーバー、MySQL、PHPがセットになっているアプリ」も簡単に紹介しておきます。

KSWEB: server + PHP + MySQL: LighthttpdとPHPとMySQLなどがセットになっているアプリ

NAMP nginx android web server: NginxとPHPとMySQLなどがセットになっているアプリ

 

よし!これで電車の中でも焦らされないですむぞ!

以上!

 

このエントリーをはてなブックマークに追加

  8 コメント

  1. こんにちは
    rhel 7でwordpressを新規にインストールするとちゃんと使えるのですが、CentOS5で動いてるwordpressをバックアップリストアするとかなりおかしなことに・・・。原因がわかりませんが、がんばって原因追求してみます。

  2. 楽しそうなことしてますね?
    おかしくなる時に、webやMySQLのログにはエラー出ていませんでしょうか。
    エラーが何起因なのかまずはわかるといいのですが(・・;)

  3. おはようございます。
    原因がすぐわかれば苦労しませんけど、泥沼になったら時は自分が壊れかけてます(w
    ログがさっぱりでなかったのが困った所で、調べてみるとindex.htmlとindex.phpが両方ありindex.htmlが表示されていました。
    DirectoryIndexディレクティブでindex.htmlよりindex.phpを先かきましたらちゃんと表示されましたね。
    なんで両方あるのかわかりませんが、製作側の問題なんで原因がわかっただけでもよしとします。

  4. くりくりさん

    え!?index.htmlもあったんですか。。 WordPressにはindex.htmlは含まれていないと思うんですが、
    移行前環境で何かのために作成したファイルとかじゃないですかね。

    とにかく問題解決できたようでよかったです!

  5. 最近ネットワーク全然やってないんですけど、
    DHCPサーバーってモデムの再起動してもなるべくもとのipになるようなつくりになっていませんでしたっけ?

    今年から海外に出張してる社員がいるんですけど、再起動のたびにipの範囲がかわるのでそのたびに/etc/hosts.allowとwp-login.phpのアクセスを変更してます。

    例えばipを聞いてwhoisで調べるとipの範囲がこのようにでます。175.139.0.0 – 175.139.255.255。第二オクテットまで許可の設定すると今度は再起動後210.186.0.0 – 210.186.31.255と今日は175.142ともう再起動はしないでくれとメールして固定ipにはいるか
    http://www.interlink.or.jp/aff/ppc/myip_kaigai_signup.html
    これためしてくれといいました。

  6. こんばんは
    海外からのアクセスは厄介ですね。
    該当IPアドレスの逆引きからのホスト名の上位ドメインを取得してアクセス許可させるのはできますがこれだと第三者のアクセスの可能性が残っていしまいます。
    対象サービスにもよりますが、こちらでプロキシを用意してあげたり、VPN環境を用意してVPN接続をRSA認証でしてもらい接続後にアクセスしてもらうというのもいいと思います。
    動的IPアドレスからのアクセスは厄介ですね(^.^;

  7. おはようございます。
    2日たつとネットワークが通じなくなってモデムとルータの再起動をしてることがわかりました。
    そこで、きりわけするのにルータだけ再起動してみてくださいと伝えておきました。
    >VPN環境を用意してVPN接続をRSA認証でしてもらい接続後にアクセスしてもらうというのもいいと思います。
    ホストネームで規制を考えていたのが甘かったです。ipのパターンがあると思うのでそれを収集します。

  8. パターンを実動作から割り出すとわ( ゚д゚)

    プロバイダに連絡してもIP帯は公開してくれなさそうですし、それしか手はないですかね(^_^;)

コメント大歓迎!質問も受け付けておりますヽ(*´∀`)ノ