我有从php程序启动Apache Tomcat服务器的情况。 我试过如下所示:
$las = system('cmd C:\apache-tomcat-8.0.21\bin\startup.bat',$ret);
echo $las. $ret;
//output
Microsoft Windows [Version 6.3.9600] (c) 2013 Microsoft Corporation. All rights reserved. C:\xampp\htdocs\web\operations>C:\xampp\htdocs\web\operations>0
但它没有用。
然后我试着这样。
echo exec('C:\apache-tomcat-8.0.21\bin\startup.bat');
输出:打开cmd并立即关闭它,并显示以下错误。
如何让它发挥作用。
答案 0 :(得分:0)
虽然我完全质疑这是你想要解决的任何潜在问题的合适解决方案(阅读:让我们知道潜在的问题,我们可能会提出一个合适的解决方案),这里有一些帮助的工具调查正在发生的事情:
当您使用startup.bat启动tomcat时, 进程(startup.bat批处理文件)将立即终止并在单独的进程中启动tomcat(通常打开一个单独的命令行)。如果该启动失败,您可能会看到命令行短暂弹出,显示错误消息,然后在您有机会看到错误消息之前消失。
您可以通过执行catalina.bat run
在前台启动tomcat(仅用于调试目的) - 这通常会使命令行窗口保持打开状态,并使您有机会看到任何错误消息。
现在,通常你想在后台完全运行tomcat - 在Windows上它是一项服务。 tomcat的操作方式是:可用并等待传入(http)请求。您通常在系统启动时启动它 - 查找如何将tomcat作为服务运行。
编辑:发布错误消息后:您是否在那里看到路径和错误消息?找出这条路径的构造方向。候选人(按此顺序):