Php 如何在主机上从vm内部运行的代码执行shell命令?

Php 如何在主机上从vm内部运行的代码执行shell命令?,php,macos,shell,laravel,osx-yosemite,Php,Macos,Shell,Laravel,Osx Yosemite,我有一个php代码库,运行在mac(OS X 10.10)上的一个流浪vm中。我正在尝试使用exec()执行shell命令。这些命令显然是由vmshell执行的,但我希望mac的shell能够运行它。如果可能的话,我怎样才能做到这一点?我知道另一种选择是直接在mac上运行php代码库,但我想知道 其他相关信息:php代码库是,vm是。我想这样做的原因是从mac的终端调用一个apple脚本来启动一个特定的软件。只需在主机和VM之间共享/装载一个文件夹,然后您就可以在主机上创建一个cron作业来读取

我有一个php代码库,运行在mac(OS X 10.10)上的一个流浪vm中。我正在尝试使用
exec()
执行shell命令。这些命令显然是由vmshell执行的,但我希望mac的shell能够运行它。如果可能的话,我怎样才能做到这一点?我知道另一种选择是直接在mac上运行php代码库,但我想知道


其他相关信息:php代码库是,vm是。我想这样做的原因是从mac的终端调用一个apple脚本来启动一个特定的软件。

只需在主机和VM之间共享/装载一个文件夹,然后您就可以在主机上创建一个cron作业来读取和运行来自VM的命令


首先,将需要在主机上运行的任何命令从VM写入文件。然后,只需在主机(Mac)上创建一个cron作业,每隔几分钟或几秒钟运行一次,检查文件以查看是否有任何新命令要运行。主机的行为就像一个监听器,检查并等待从VM获取任何命令,以便在主机环境中运行

VM中运行的是什么操作系统?您可以使用任何允许一台机器在另一台机器上运行命令的操作系统,例如
ssh
。一台机器是虚拟的,并且托管在另一台机器上并不重要。根据虚拟机从主机获取网络的方式,您将遇到一些问题。例如,如果您的mac主机为192.168.1.112,而VM为10.0.1.10,则两个网络将无法相互通信。因此,如果您的虚拟机拥有自己的IP,比如192.168.1.113,那么您可以使用ssh。如果您有一个共享文件夹,您可以在主机上创建一个cron作业来“侦听”并从虚拟机运行命令。看到我的答案了,克朗·乔布是缺失的一部分!谢谢