スポンサーサイト

上記の広告は1ヶ月以上更新のないブログに表示されています。
新しい記事を書く事で広告が消せます。

PHPをちょっと実行したいときには

PHPを書いているとローカルでちょっと処理とかさせたいとよく思ったりしますが、そんなときはインストールレスで使えるXAMPPとかXAMPP Liteとか使うといいです。

http://www.apachefriends.org/jp/xampp.html

しかしながら、だんだん使っているとこれもおっくうになってきたりするんですよね~><
直接実行環境作れたらいいのに・・・と思ったことがありました。
そんなときにお世話になったのが、Bambalam PHP EXE Compilerです。

http://www.bambalam.se/bamcompile/

実行環境が、PHP 4.4.4ベースですがちょっとしたことであれば困りませんでした。
データ処理して、FTPアップロードしたりするようなものは簡単に作れます。

一部クセがあって、tempフォルダにゴミが残るっぽいので、それをプログラム最後に削除してやる必要があります。
下記は練習用に作ったMD5を計算するプログラムですが、参考にしてみてください。


<?php
//PHP Init-------------------------------------------------------------------
//ini_get('mbstring.internal_encoding');
ini_set('mbstring.script_encoding','Shift_JIS');
ini_set('mbstring.http_output','pass');
//ini_set(display_errors,0);//エラー表示抑止
set_time_limit(0);//実行時間無制限

//Define---------------------------------------------------------------------
//Ver情報
define(SCRIPT_VER,"MD5 Creater 0.10.080306");

//Main-----------------------------------------------------------------------
echo SCRIPT_VER.PHP_EOL;
if(isset($argv[1])){

$filename = htmlspecialchars($argv[1],ENT_QUOTES);
echo "監視対象 : ".$filename.PHP_EOL;
echo "Ctrl+Cで強制終了!".PHP_EOL;

//時刻取得(UNIX Time sec)
$start_end_time = date('U');

echo md5_file($filename).PHP_EOL;

//時刻取得(UNIX Time sec)
$start_end_time = date('U')-$start_end_time;
echo $start_end_time."sec".PHP_EOL;
}

//テンポラリーファイルを削除
$file_list = glob($_ENV["TEMP"]."\\php*.tmp");
del_temp($file_list);
the_world();

//Function-------------------------------------------------------------------
//delete temp----------------------------------------------------------------
function del_temp($file_list){
foreach($file_list as $filename){
unlink($filename);
}
}

//Press Enter Key------------------------------------------------------------
function the_world(){
echo "Press Enter Key".PHP_EOL;
$stdin = fopen("php://stdin","r");
trim(fgets($stdin,2));
fclose($stdin);
}


上記をmd5.phpとして保存して、コマンドラインでコンパイルするだけです。

bamcompile.exe md5.php

あとはできあがったmd5.exeにファイルをドラッグドロップすれば動作します。

必要な外部関数とかもdllを見つけてきて同一フォルダに入れて、コンパイルすれば使えます。
確か下記のようにすればよかったはずです。
いくつか関連するdllも一緒に入れないといけなかったかもしれません。
随分昔に使ったので、忘れてしまいました><

bamcompile.exe -e:php_domxml.dll foo.php

こんな感じにUSBメモリーに入れておくと便利ですよ!

bamcompileフォルダ
関連記事
スポンサーサイト

テーマ : ソフトウェア
ジャンル : コンピュータ

tag : Portable

コメント

Secret

プロフィール

cherrypy

Author:cherrypy
四方山話とか、にわかプログラミングなどについて語ります。

カウンター
はてな人気エントリー
最新記事
スポンサードリンク
最新コメント
最新トラックバック
月別アーカイブ
カテゴリ
検索フォーム
RSSリンクの表示
リンク
ブロとも申請フォーム

この人とブロともになる

上記広告は1ヶ月以上更新のないブログに表示されています。新しい記事を書くことで広告を消せます。