У меня есть два файла *.sql
, которые я использую при создании новой базы данных веб-сайта. Первый файл создает все таблицы. Второй файл заполняет некоторые записи по умолчанию. Я хотел бы выполнить эти файлы с PHP. Я также использую Zend_Framework, если это поможет выполнить это.
Дополнительная информация
- У меня нет доступа к консоли.
- Я пытаюсь автоматизировать создание сайта из нашего приложения.
Решение
Использование shell_exec()
...
$command = 'mysql'
. ' --host=' . $vals['db_host']
. ' --user=' . $vals['db_user']
. ' --password=' . $vals['db_pass']
. ' --database=' . $vals['db_name']
. ' --execute="SOURCE ' . $script_path
;
$output1 = shell_exec($command . '/site_db.sql"');
$output2 = shell_exec($command . '/site_structure.sql"');
... Я никогда не получал полезного вывода, но следил за некоторыми предложениями в другом потоке и, наконец, все это работало. Я переключаюсь в формат --option=value
для команд и вместо <
используется --execute="SOURCE ..."
вместо <
.
Кроме того, у меня никогда не было хорошего объяснения разницы между shell_exec()
и exec()
.