Как подключить STDIN к PHP-порожденному процессу?

Моим Народы,

Это своего рода странный PHPuzzle, но мне интересно, если это PHPossible.

Конечной целью является эквивалентная функциональность

mysql mydb < file.sql 

Но с API вроде этого

 ./restore < file.sql 

Где restore – это скрипт PHP, подобный этому

 #!/usr/bin/env php $cmd = "msyql mydb"; passthru($cmd, $status); 

Тем не менее, я хочу передать STDIN команде passthru .

Явное преимущество здесь в том, что я могу restore где-нибудь в конвейере, и все работает персик. Вот пример

 # would be pretty awesome! ssh $remote "msyqldump $config mydb | gzip" | gzip -dc | ./restore 

Во всяком случае, я сомневаюсь, что это возможно, используя passthru , но, возможно, с proc_open каким-то образом?


В качестве последнего случая курорта, в случае неразрешимой PHPredicament, я бы сделал что-то вроде этого

 ./restore file.sql 

С таким скриптом

 #!/usr/bin/env php $cmd = sprintf("mysql mydb < %s", $argv[1]); passthru($cmd, $status);