Моим Народы,
Это своего рода странный 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);