2013-11-09 4 views
0

можно запустить несколько команд linux с помощью PHP. Я использую базу данных Mongodb, и если я хочу импортировать несколько коллекций, я выполняю следующую команду для каждой коллекции отдельно.Как запустить несколько команд linux с помощью PHP

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-скрипт, который сделает это для меня.

Любая идея, предложения будут действительно полезными. Заранее спасибо.

ответ

2

Вы могли бы PHP создать все команды оболочки заранее, а затем запустить их все сразу:

$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.

Смежные вопросы