【问题标题】:How to run multiple linux command using PHP如何使用 PHP 运行多个 linux 命令
【发布时间】:2013-11-09 20:40:08
【问题描述】:

是否可以使用 PHP 运行多个 linux 命令。我正在使用 Mongodb 数据库,如果我想导入多个集合,我将分别为每个集合运行以下命令。

mongoimport --db test --collection colour --file colour.json
mongoimport --db test --collection shape --file shape.json
mongoimport --db test --collection size --file size.json

现在我至少有 10 个集合,我必须在 linux 命令行中单独运行每个集合。应该有更好的方法来做到这一点。我在想的是写一个 php 脚本来为我做这件事。

任何想法,建议都会非常有帮助。提前致谢。

【问题讨论】:

    标签: php ruby-on-rails linux mongodb mongodb-php


    【解决方案1】:

    您可以让 PHP 预先创建所有的 shell 命令,然后一次性运行它们:

    $collections = array('color', 'shape', 'size');
    $command = '';
    
    foreach($collections as $collection) {
        $command .= 'mongoimport --db test --collection ' . $collection . ' --file ' . $collection . '.json; ';
    }
    
    shell_exec($command);
    

    这消除了对shell_exec() 的多次调用。但是,mongoimport 可能在 PHP mongo API 中可用。

    【讨论】:

      【解决方案2】:

      您可以使用 shell-exec 从 PHP 脚本运行操作系统命令行命令。见http://php.net/manual/en/function.shell-exec.php

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2023-03-09
        • 2013-12-28
        • 1970-01-01
        • 2023-03-06
        • 2012-02-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多