PHP スクリプトをスタンドアロンの Windows 実行可能ファイルに変換する 質問する

PHP スクリプトをスタンドアロンの Windows 実行可能ファイルに変換する 質問する

かなり単純なタスクを自動化したいと考えています。そのために、PHP-CLI を使用してコマンド ラインから実行する小さな PHP スクリプトを作成しました。このスクリプトを誰かに渡したいのですが、次のことはしたくありません。

  • ソースコードを配布する
  • システムにPHPをインストールするよう依頼する

PHP スクリプトの .exe バージョンを作成する方法はありますか。逆コンパイルについてはあまり心配していません。むしろ、PHP のインストールと構成をユーザーに依頼することの方が心配です。

ベストアンサー1

ピーチパイ

ピーチパイ

https://github.com/iolevel/peachpie

Peachpie は、Microsoft の Roslyn をベースにした PHP 7 コンパイラで、人気の Phalanger から引用されています。PHP コードを純粋な MSIL にコンパイルすることで、PHP を .NET/.NETCore 内で実行できるようになります。

ファランジェ

http://v4.php-compiler.net/

http://wiki.php-compiler.net/Phalanger_Wiki

https://github.com/devsense/phalanger

Phalanger は、プラハのカレル大学で開始され、Microsoft によってサポートされたプロジェクトです。PHP スクリプト言語で記述されたソース コードを CIL (Common Intermediate Language) バイト コードにコンパイルします。コンパイル プロセスの開始を処理し、.NET Framework の JIT コンパイラ コンポーネントによって完了します。ネイティブ コードの生成や最適化には対応していません。PHP スクリプトを .NET アセンブリ (CIL コードとメタデータを含む論理ユニット) にコンパイルすることが目的です。

バンバラム

https://github.com/xZero707/Bamcompile/

Bambalam PHP EXE コンパイラ/エンベッダーは、PHP アプリケーションをスタンドアロンの Windows .exe アプリケーションに変換する無料のコマンド ライン ツールです。生成される exe ファイルは完全にスタンドアロンで、php dll などは必要ありません。php コードは Turck MMCache Encode ライブラリを使用してエンコードされるため、ソース コードを保護しながらアプリケーションを配布する場合に最適なソリューションです。コンバーターは、ウィンドウ化された PHP アプリケーション (たとえば WinBinder ライブラリを使用して作成) の .exe ファイルを生成するのにも適しています。スタンドアロンの PHP ソケット サーバー/クライアント (php_sockets.dll 拡張機能を使用) を作成するのにも適しています。PHP ソースからネイティブ マシン コードを生成しないという意味で、実際にはコンパイラではありませんが、機能します。

ZZEE PHPExe

http://www.zzee.com/phpexe/

ZZEE PHPExe は、PHP、HTML、Javascript、Flash などの Web ファイルを Windows GUI exe にコンパイルします。使い慣れた PHP Web パラダイムを使用して、Windows GUI アプリケーションを迅速に開発できます。ほとんどまたはまったく変更せずに、オンライン アプリケーションと Windows アプリケーションに同じコードを使用できます。これは商用製品です。

phc-win

http://wiki.swiftlytilting.com/Phc-win

PHP 拡張機能 bcompiler は、PHP スクリプト コードを PHP バイトコードにコンパイルするために使用されます。このバイトコードは、bcompiler 拡張機能がロードされている限り、他の PHP ファイルと同様に組み込むことができます。すべてのバイトコード ファイルが作成されると、修正された Embeder を使用して、すべてのプロジェクト ファイルをプログラム exe にパックします。

必要

  • php5ts.dll
  • php_win32std.dll
  • php_bコンパイラ.dll
  • php-embed.ini

実行出力

http://www.exeoutput.com/

コマーシャル

ウィンバインダー

http://winbinder.org/ - 利用できなくなりました

(オリジナル:https://github.com/stefan-loewe/WinBinder

(フォーク:https://github.com/wagy/WinBinder

WinBinder は、スクリプト プログラミング言語である PHP のオープン ソース拡張機能です。これにより、PHP プログラマーはネイティブ Windows アプリケーションを簡単に構築でき、最小限の労力で迅速かつ有益な結果を得ることができます。PHP のパワーと柔軟性により、数十行の短いスクリプトでも便利なプログラムを生成できます。

PHPデスクトップ

https://github.com/cztomczak/phpdesktop

PHP Desktop は、PHP、HTML5、JavaScript、SQLite などの Web テクノロジを使用してネイティブ デスクトップ アプリケーションを開発する方法を提供するために、2012 年に Czarek Tomczak によって設立されたオープン ソース プロジェクトです。このプロジェクトは、PHP から EXE へのコンパイラーにとどまらず、Web ブラウザー (Internet Explorer または Chrome が組み込まれている)、Mongoose Web サーバー、および PHP インタープリターが組み込まれています。慣れ親しんだ開発ワークフローは同じままで、既存の Web サイトをデスクトップ アプリケーションに変換する手順は、基本的にそれを "www/" ディレクトリにコピーするだけです。SQLite データベースの使用はオプションで、アプリケーションのインストーラーに mysql/postgresql データベースを埋め込むことができます。

PHP ナイトレイン

https://github.com/kjellberg/nightrain

PHP Nightrain を使用すると、HTML、CSS、JavaScript、PHP Web アプリケーションを Windows、Mac、Linux オペレーティング システム上のネイティブ デスクトップ アプリケーションとして展開および実行できます。人気の PHP フレームワーク (CakePHP、Laravel、Drupal など) も十分にサポートされています。

phc-win「フォーク」

https://github.com/RDashINC/phc-win

phc-win のフォーク版とも言えるもので、phc-win と同じ技術を使用していますが、ほぼすべての最新の PHP バージョンをサポートしています。(5.3、5.4、5.5、5.6 など) また、Enigma VB を使用して php5ts.dll を exe と結合したり、UPX 圧縮したりすることもできます。 最後に、win32std と winbinder が PHP に静的にコンパイルされています。

編集

もう一つの選択肢は

http://www.appcelerator.com/products/titanium-cross-platform-application-development/

PHPを含むさまざまな言語から、さまざまなプラットフォーム用の実行ファイルを構築できるオンラインコンパイラ

タイドSDK

http://www.tidesdk.org/

TideSDK は、実際には Titanium Desktop プロジェクトの名前が変更されたものです。Titanium はモバイルに重点を置き、デスクトップ バージョンを放棄しました。デスクトップ バージョンは、オープンソース化して TideSDK と名付けた何人かの人々に引き継がれました。

通常、TideSDK は HTML、CSS、JS を使用してアプリケーションをレンダリングしますが、プラグイン モジュールとして PHP などのスクリプト言語や、Python や Ruby などの他のスクリプト言語もサポートします。

おすすめ記事