我需要运行Shell_exec将转储导入我的MYSQL数据库。今天我这样做:
$ shellExec ='C:\ wamp \ bin \ mysql \ mysql5.1.36 \ bin \ mysql -h localhost -u root mertero_decicare< d:\本地主机\ SQL \ decisions.sql';
$ out = shell_exec($ shellExec。'2> output');
哪个有效。但有没有办法从PHP“找到”mysql可执行文件的位置?所以我不需要硬件我的mysql位置?
罗恩
答案 0 :(得分:1)
一种简单的方法是将其添加到Windows环境路径(它位于大多数Unix系统的路径中)。然后你只需要从脚本中调用mysql。
以下是有关如何从MySQL执行此操作的信息页面: MySQL Windows Service Start
在该页面上,您需要找到文本
“为了更容易调用MySQL程序,可以将MySQL bin目录的路径名添加到Windows系统PATH环境变量中”
并阅读该部分。使用此方法,您只需在没有路径的情况下调用mysql。
答案 1 :(得分:0)
在Windows上可以将C:\ wamp \ bin \ mysql \ mysql5.1.36 \ bin \添加到环境变量路径中。请参阅:http://en.wikipedia.org/wiki/Environment_variable
这样你就可以调用shell_exec('mysql ...');
Alernatively你不能使用mysqldump,你可以在MySQL中使用SELECT INTO OUTFILE,尽管你需要为每个表执行它。不像mysqldump那么优雅。