我想让我的用户能够配置一些php脚本来与我的applycation交互。
我想给用户一份备忘录。用户使用php语法编写一些代码,然后按execute。php引擎执行代码,所以我可以打印结果。
例如,我想写这样的东西:
PHPassembly = Assembly.LoadFrom("php5ts.dll");
ExecutePHPScript(PHPassembly,StringContainingAScript);
ResultVar=GetPHPVar(PHPassembly,"ResultVar");
我没有网络服务器。我没有网络连接。仅限Windows的本地应用程序。
我试图加载php5ts.dll,但是编译器说我需要一个程序集清单。
有人知道如何与php交互吗?
最佳答案
您需要两个文件(来自php-5.3.5-win32-vc9-x86)php-win.exe和php5ts.dll
将这两个文件放在可执行目录中并运行:
string code = "echo 'test';";
System.Diagnostics.Process ProcessObj = new System.Diagnostics.Process();
ProcessObj.StartInfo.FileName = "php-win.exe";
ProcessObj.StartInfo.Arguments = String.Format("-r \"{0}\"", code);
ProcessObj.StartInfo.UseShellExecute = false;
ProcessObj.StartInfo.CreateNoWindow = true;
ProcessObj.StartInfo.RedirectStandardOutput = true;
ProcessObj.Start();
ProcessObj.WaitForExit();
string Result = ProcessObj.StandardOutput.ReadToEnd();
MessageBox.Show(Result);