我创建了一个backup.sql
脚本来恢复MySql数据库。我用PHPMyAdmin导入检查了脚本,一切正常(数据库已成功恢复)。现在我想通过PHP运行它。我发现this question,我有:通过PHP运行SQL脚本
1)创建一个PHP文件放入htdocs文件夹包含以下内容
$site_path= realpath(dirname(__FILE__)).'/';
$command = 'mysql'
. ' --host=' . 'localhost'
. ' --user=' . 'myuser'
. ' --password=' . 'mypass'
. ' --database=' . 'dbname'
. ' --execute="SOURCE ' . $site_path;
$output = shell_exec($command . 'backup.sql"');
echo "<pre>".$output."</pre>";
2)放置在backup.sql脚本到htdocs文件夹
但是,当我运行脚本,数据库没有任何反应,并且没有显示shell_exec结果。我在Windows机器上的Apache下运行PHP和MySql。该命令变量具有以下值:
mysql --host=localhost --user=myuser --password=mypass--database=dbname --execute="SOURCE C:\Programmi\Apache Software Foundation\Apache2.2\htdocs/
我错过了什么?
您是否启用了PHP错误? – 2014-10-22 11:57:25
是的,我已经启用了error_reporting(E_ALL);'和 'ini_set('display_errors',1);' – Giorgio 2014-10-22 11:58:59
我刚刚意识到您要导入以前用PHP创建的备份。为什么你甚至想用PHP脚本来做到这一点?你可以通过手工甚至bash脚本轻松完成此操作。 – 2014-10-22 18:11:58