0

是否可以使用 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 脚本来为我做这件事。

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

4

2 回答 2

2

你可以让 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(). 但是,也许mongoimportPHP mongo API中可用。

于 2013-11-09T20:52:23.543 回答
0

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

于 2013-11-09T20:44:20.760 回答