问题,我有以下代码PHP proc_open在Windows
$env=array('PATH'=>'C:\Program Files\MySQL\MySQL Server 5.1\bin',
'PATHEXT' => '.COM;.EXE;.BAT;.CMD;.VBS;.VBE;.JS;.JSE;.WSF;.WSH;.MSC');
$cmd='mysql "--port=3306" "--host=127.0.0.1" "--user=root" "--password=xxxx" <"C:\Projects/script.sql" 2>&1';
print $cmd;
$proc = proc_open($cmd, $descriptorspec, $pipes, NULL, $env) or die("Cannot run $cmd");
while ($line=fgets($pipes[1])) print $line;
print "\n\nCompleted\n";
和输出我得到的是
ERROR 2004 (HY000): Can't create TCP/IP socket (10106)
为什么端口选项被忽略?该命令在命令行上运行得非常好。
它可以从cmd行工作吗?这可能会导致许可问题。 (这就是说,为什么不使用mysql扩展?:) – Pierre 2012-04-01 13:38:17
嗯... PHP中的MySQL连接库?有趣的... – Xeoncross 2012-04-02 19:32:27
你试过在路径env var中包含windows文件夹吗? – Michal 2012-04-03 17:21:34