使用系统功能的Windows上的PHP - 为什么错误不在正确的位置

时间:2012-10-18 17:11:38

标签: php mysql windows

我在Windows上使用PHP系统功能如下:

system("mysql --user=root --password=xxxx --host=127.0.0.1 --verbose <create.sql > out.txt 2>&1", $retVal);

但错误信息位于文件顶部。是否可以在出现错误的相应SQL行之后显示错误消息。

1 个答案:

答案 0 :(得分:0)

问题是stdout是缓冲的,而stderr并不意味着在这种情况下错误将始终显示。如果您希望保留某种顺序,则需要在脚本中包装系统调用并对其进行排序。有一些解释over here