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