C#:运行shell命令时出现问题
发布时间:2020-12-15 19:30:35 所属栏目:百科 来源:网络整理
导读:我正在尝试让 PHP解析器运行一个页面,然后将结果返回给我的服务器,但是当我通过我的代码运行命令时,它什么都不返回.我知道命令是正确的,因为如果我用相同的路径手动运行它,它工作正常.继承我的代码: var p = new Process{ StartInfo = new ProcessStartInfo
我正在尝试让
PHP解析器运行一个页面,然后将结果返回给我的服务器,但是当我通过我的代码运行命令时,它什么都不返回.我知道命令是正确的,因为如果我用相同的路径手动运行它,它工作正常.继承我的代码:
var p = new Process { StartInfo = new ProcessStartInfo("C:xamppphpphp.exe",path) { RedirectStandardOutput = true,RedirectStandardError = true,UseShellExecute = false,CreateNoWindow = true } }; var output = new StringWriter(); var error = new StringWriter(); p.OutputDataReceived += (sender,args) => output.WriteLine(args.Data); p.ErrorDataReceived += (sender,args) => error.WriteLine(args.Data); p.Start(); p.BeginOutputReadLine(); p.BeginErrorReadLine(); p.WaitForExit(); if (p.ExitCode != 0) { throw new Exception(string.Format( "PHP failed with the following output:{0}{1}",/* {0} */ Environment.NewLine,/* {1} */ error.GetStringBuilder().ToString())); } var res = output.GetStringBuilder().ToString(); Console.WriteLine(res); 编辑: 解决方法
设置WorkingDirectory路径
var p = new Process { StartInfo = new ProcessStartInfo("php",path) { RedirectStandardOutput = true,CreateNoWindow = true,WorkingDirectory = workingDir } }; (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |