2017-08-13 22 views
1

PHP ncurses libraryは、通常のPHPのインストールにインストールされていない、私はPHPのpharのアプリでそれをバンドルしたいPECL extensionバンドルPECL拡張

として、それをインストールする必要があります。

これは可能でしょうか?

答えて

0

私はcweiskeの答えに同意します。

私はあなたがこれに興味がある理由を理解していますが、実際には.pharのPHPの前提条件は、決してスタンドアロンの実行可能ファイルではないということです。それらはjavaの.jarファイルのようなものです。どちらの場合も、関連する実行時環境が必要です。

提案PHPソリューションは単純です:そうは言って

if (!extension_loaded('ncurses')) { 
    echo "The ncurses Extension is required. Use PECL or your system package manager to install it. See http://php.net/ncurses for more information." 
    exit; 
} 

、私の仮定は、あなたがのncursesを使用して作成しようとしているどんなプログラムで、正しい場合は、おそらく改善することができ、自己完結型の言語で書かれています実行可能ファイル(c、C++)にコンパイルされます。

少なくとも、堅牢で簡単な方法でアプリケーションパッケージを処理できる言語(Python、Ruby、Golang)。特に、Dockerのようなクロスプラットフォームのツールや、termuiのような端末ライブラリでは、Golangに大きな関心を寄せていますので、作成しているアプリケーションにPHPが本当に適しているかどうかを検討する必要があります。

1

PECLパッケージはC言語で書かれています.PECLパッケージは、特定のPHPバージョンとオペレーティングシステム(およびZTSやCPUアーキテクチャなどの他の変数)用にコンパイルする必要があります。

.pharファイルに上記の変数のすべての組み合わせについてコンパイルされたライブラリをパックし、正しいものをロードする必要があります。

これは確かに実行可能ですが、私は投資しないと大きな努力をしています。代わりに、拡張機能がロードされているかどうかをチェックし、そうでない場合には何をすべきかを示す素晴らしいエラーメッセージを生成します。

関連する問題