Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/shell/5.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
可以用PHP打开终端吗?_Php_Shell_Terminal - Fatal编程技术网

可以用PHP打开终端吗?

可以用PHP打开终端吗?,php,shell,terminal,Php,Shell,Terminal,所以我有一台Mac电脑,我正试图创建一个本地主机网页,打开终端并启动minecraft服务器。这样我弟弟就可以在服务器上,而我不在电脑上 问题是,无论我怎么做,我都无法打开终端 下面是一个简单的localhost/test.php文件中的代码: <?php exec('osascript -e \'launch the application "Terminal"\'',$out); system('osascript -e \'tell application "Terminal"

所以我有一台Mac电脑,我正试图创建一个本地主机网页,打开终端并启动minecraft服务器。这样我弟弟就可以在服务器上,而我不在电脑上

问题是,无论我怎么做,我都无法打开终端

下面是一个简单的localhost/test.php文件中的代码:

<?php
exec('osascript -e \'launch the application "Terminal"\'',$out); 

system('osascript -e \'tell application "Terminal" do script "cd ~/Desktop/Bukkit/;" & "./start_server.command"\'',$out);

echo $out;
?>
正如你所看到的,我试图用applescript来做,第二行只有在终端已经打开的情况下才起作用,这就是为什么我希望第一行打开终端


那么,到底有没有办法做到这一点呢?

您可以使用exec/system/shell\u exec运行命令行来运行服务器,为什么需要osascript?确保PHP用户拥有正确的权限,并且您可能希望使用nohup创建进程,并使用&来解除附加。例如:shell_execnohup/path/to/myServer&;我刚想起这件事。好久没见了。很抱歉无论如何我确实试过你说的,但还是不起作用。我希望通过另一个文件运行服务器的原因是,当我使用stop命令停止服务器时,可以让命令自动关闭终端窗口。