0

私は数年間 CMS に取り組んできましたが、実際には管理領域に jquery ベースのコンソールを実装しました。ここでは、モジュールの有効化/無効化などの便利な操作を行うことができます。

最近、drupal をいじって、drush と一緒に cygwin をインストールすることにしました。私はグーグルで調べてみましたが、これは珍しい質問かもしれないと考えました.phpベースのCMS用のCLIを作成するにはどうすればよいですか? では、drush はどのように機能するのでしょうか? つまり、コマンド ラインから Windows のバッチ スクリプトとして実行されることはわかっています。しかし、それはどのように PHP などと対話するのでしょうか?

私はいくつかの基本的な C# を知っていますが、これがどのように適合するかを理解すれば、それほど難しいことではありません。(php、sqlなど)。

どんな助けでも大歓迎です、事前に感謝します:)

4

2 に答える 2

0

基本的に、無限ループに加えて「exec()」または「shell_exec()」PHP関数を使用して単純なCLIシェルを記述できます。ユーザーコマンドを取得し、それをshell_exec()関数に送信して、システムシェルで実行し、その出力をユーザーに返す必要があります。

すなわち:

while(TRUE){

if($ input!='exit')$ output = shell_exec($ input); そうでなければ壊れます。

エコー$出力; }

  • 他のオプションを追加して、この単純なループをカスタマイズできます。
  • 'exec()'関数を使用して外部プログラムを呼び出すことができます。
于 2012-11-10T21:07:16.173 に答える
0

php を cli サポート付きでコンパイルした場合にのみ、端末から php cli を実行できます。さらに、インタープリターを指定し、スクリプトへのパスを引数として渡す必要があります。ただし、シバン #!/path/to/php を使用することもできます。より良い方法は、env 変数を使用し、php へのパスをハードコーディングしないことです: #!/usr/bin/env php. それについてはこちらをお読みください: http://tech.vg.no/2012/02/21/dont-hardcode-php-executable-path-in-shebang/ .

于 2012-11-10T21:21:04.103 に答える