Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/284.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何在eclipse中以编程方式执行php文件_Php_Eclipse Plugin_Eclipse Pdt - Fatal编程技术网

如何在eclipse中以编程方式执行php文件

如何在eclipse中以编程方式执行php文件,php,eclipse-plugin,eclipse-pdt,Php,Eclipse Plugin,Eclipse Pdt,我有一个插件,我已经贡献了选项菜单弹出窗口。我弹出一个向导,在选择选项菜单时获取用户值。获取这些值后,我将创建一个.php文件。现在,在创建这个php文件之后,我也想执行它。创建文件的代码如下所示 public void editDeploy(String root,String username,String password,String projectName){ IWorkspaceRoot myWorkspaceRoot = ResourcesPlugin.getWorksp

我有一个插件,我已经贡献了选项菜单弹出窗口。我弹出一个向导,在选择选项菜单时获取用户值。获取这些值后,我将创建一个.php文件。现在,在创建这个php文件之后,我也想执行它。创建文件的代码如下所示

public void editDeploy(String root,String username,String password,String projectName){

    IWorkspaceRoot myWorkspaceRoot = ResourcesPlugin.getWorkspace().getRoot();
     IProject myProject = myWorkspaceRoot.getProject(projectName);
       // open if necessary
       if (myProject.exists() && !myProject.isOpen())
        try {
            myProject.open(null);
        } catch (CoreException e) {
            // TODO Auto-generated catch block
            e.printStackTrace();
        }
       IFile deploy=myProject.getFile("deploy.php");
       StringBuilder sb=new StringBuilder();
       ...Some Code to append in String Builder
       String contents=sb.toString();
       InputStream source = new ByteArrayInputStream(contents.getBytes());
       try {
           System.out.println("Entered2");
        deploy.create(source, false, null);
        System.out.println("Done");
    } catch (CoreException e) {
        // TODO Auto-generated catch block
        e.printStackTrace();
    }
}

那么我如何在这里执行deploy.php文件呢?

我还没有找到一个干净的解决方案,但我可以通过

Runtime.getRuntime().exec("cmd /c start cmd.exe /K \"cd "+dirPath+" && php deploy.php\"");

其中dirPath是deploy.php所在的目录。如果有更好的方法,请告诉我。

PDT的PHPExe*课程可能会对我有所帮助: