0

我已经在 CMS 上工作了几年,实际上我在管理区域中实现了一个基于 jquery 的控制台,您可以在其中执行一些方便的操作,例如启用/禁用模块等。

我最近摆弄了 drupal 并决定与 drush 一起安装 cygwin。我试着用谷歌搜索,但认为这可能是一个不寻常的问题:如何为基于 php 的 CMS 创建 CLI?究竟是如何工作的?我的意思是,我知道它作为 Windows 中的批处理脚本从命令行运行。但是它是如何与 PHP 等交互的呢?

我确实知道一些基本的 C#,但是一旦我弄清楚它是如何组合在一起的,这应该不会很难。(php、sql 等)。

任何帮助表示赞赏,在此先感谢:)

4

2 回答 2

0

基本上,您可以编写一个带有无限循环的简单 CLI shell,外加一个 'exec()' 或 'shell_exec()' PHP 函数。您应该获取用户命令并将其发送到 shell_exec() 函数以在系统 shell 中执行并将其输出返回给用户。

IE:

而(真){

if($input != 'exit') $output=shell_exec($input); 否则中断;

回声$输出;}

  • 您可以添加其他选项并自定义这个简单的循环。
  • 您可以使用 'exec()' 函数调用外部程序。
于 2012-11-10T21:07:16.173 回答
0

只有在使用 cli 支持编译 php 时,才能从终端运行 php cli。另外,您需要指定解释器并将路径作为参数传递给脚本。但您也可以使用 shebang #!/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 回答