Код использует три функции командной строки:
- Команда
echo
- Подключение команд через каналы (символ
|
)
- Клиент командной строки
mysql
Все три доступны и работают одинаково (в той степени, в которой они используются здесь) в Windows и Linux, поэтому код фактически переносим.
Редактировать: Код должен быть запущен в оболочке, вы не можете просто поместить его в скрипт PHP. Вы должны использовать exec()
, что-то вроде этого:
<?php
exec("echo 'create database foo2' | mysql -uroot");
exec("mysqldump --skip-triggers -uroot foo | mysql -uroot foo2");
?>
Однако вызов mysql_connect()
до этого не принесет никакой пользы, поскольку он действителен только для сценария PHP. Вы должны будете выполнить аутентификацию через командную строку напрямую. В качестве альтернативы вы можете использовать его и mysql_create_db()
для замены первой строки exec()
.