【发布时间】:2015-08-03 17:39:23
【问题描述】:
我有一个在 mac (OS X 10.10) 上运行的 vagrant vm 中运行的 php 代码库。我正在尝试使用exec() 执行shell 命令。这些命令显然是由 vm shell 执行的,但我希望 mac 的 shell 来运行它。如果可能的话,我怎么能做到这一点?我知道另一种选择是直接在 mac 上运行 php 代码库,但我想知道。
一些相关的附加信息:php 代码库是Laravel 5,vm 是Homestead。我想这样做的原因是从mac的终端调用一个苹果脚本来启动一个特定的软件。
【问题讨论】:
-
VM 中运行的是什么操作系统?
-
您可以使用任何让一台机器在另一台机器上运行命令的方法,例如
ssh。一台机器是虚拟的并托管在另一台机器上并不重要。 -
您将遇到一些问题,具体取决于 VM 如何从主机获取其网络。例如,如果您的 mac 主机是 192.168.1.112,而您的 VM 是 10.0.1.10,则两个网络将无法相互通信。所以如果你的虚拟机有自己的 IP,比如 192.168.1.113,那么你就可以 ssh 就好了。
-
如果你有一个共享文件夹,你可以在主机上创建一个 cron 作业来“监听”并从虚拟机运行命令。看我的回答。
标签: php macos shell laravel osx-yosemite