欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  后端开发

php关于主机调用虚拟机上的linux服务

程序员文章站 2024-02-07 14:59:16
...
我的主机是window系统,需要用到一个linux开源服务,现在办法是在主机上装一个vmware,vm装linux系统,把这个服务安装到vm上。问题是 我主机上的php文件,如何require vm上的php文件?以及vm上的php文件如何调用主机上的mysql数据库?流程就是 主机 php -->调用vm 服务(php api)-->调用主机上mysql(php api需要基于数据库进行工作);求高手大牛指点指点

回复讨论(解决方案)

配置网卡,VM上装apache,或者你直接拿代码去VM里运行




然后呢?配置网卡是不是网络连接模式?桥接,NAT这种?





然后呢?配置网卡是不是网络连接模式?桥接,NAT这种?

我是桥接做的。你也用桥接即可,这样可以和本机互通






然后呢?配置网卡是不是网络连接模式?桥接,NAT这种?

我是桥接做的。你也用桥接即可,这样可以和本机互通 使用桥接模式就能直接调用了吗?我虚拟机上phpapi调用主机mysql,我要把mysql 的host怎么设?

你的虚拟机是作为服务用的,所以必须是静态 ip 地址(或配置有 DNS)
同理,需要访问主机上的 mysql,那没主机的 ip 也需是静态的

从虚拟机访问主机的 mysql,这就是远程访问了。
需要在主机的 mysql 中开放虚拟机的远程访问权限







然后呢?配置网卡是不是网络连接模式?桥接,NAT这种?

我是桥接做的。你也用桥接即可,这样可以和本机互通 使用桥接模式就能直接调用了吗?我虚拟机上phpapi调用主机mysql,我要把mysql 的host怎么设?

Mysql有个user表,里面有个Host字段 你把Localhost改成你的IP或者改成*,这样就允许非本机访问了








然后呢?配置网卡是不是网络连接模式?桥接,NAT这种?

我是桥接做的。你也用桥接即可,这样可以和本机互通 使用桥接模式就能直接调用了吗?我虚拟机上phpapi调用主机mysql,我要把mysql 的host怎么设?

Mysql有个user表,里面有个Host字段 你把Localhost改成你的IP或者改成*,这样就允许非本机访问了 虚拟机里有个phpapi,里面的mysql配置目前是 host=localhost;user=root;pass=;port=3306;加入按你那么说,改的是主机里的mysql表,但是我虚拟机里怎么识别localhost指向的是主机的mysql呢?我虚拟机里没有mysql数据库的

你的虚拟机是作为服务用的,所以必须是静态 ip 地址(或配置有 DNS)
同理,需要访问主机上的 mysql,那没主机的 ip 也需是静态的

从虚拟机访问主机的 mysql,这就是远程访问了。
需要在主机的 mysql 中开放虚拟机的远程访问权限 虚拟机和主机应该是属于局域网之间通信吧。我的虚拟机里phpapi里mysql配置是host=localhost;是不是把这个host改成主机ip就行了?我主机ip是192.168.0.11。虚拟机是.12,直接改ip行吗

虚拟机和主机虽然在一台物理机器上,但他们之间的通讯是经过网络的
网络不分大小,只要只要是经过网络,就是远程了。不经过网络的才是本地
不仅是该ip,而且要在mysql中授权









然后呢?配置网卡是不是网络连接模式?桥接,NAT这种?

我是桥接做的。你也用桥接即可,这样可以和本机互通 使用桥接模式就能直接调用了吗?我虚拟机上phpapi调用主机mysql,我要把mysql 的host怎么设?

Mysql有个user表,里面有个Host字段 你把Localhost改成你的IP或者改成*,这样就允许非本机访问了 虚拟机里有个phpapi,里面的mysql配置目前是 host=localhost;user=root;pass=;port=3306;加入按你那么说,改的是主机里的mysql表,但是我虚拟机里怎么识别localhost指向的是主机的mysql呢?我虚拟机里没有mysql数据库的
localhost直接用IP代替

虚拟机和主机虽然在一台物理机器上,但他们之间的通讯是经过网络的
网络不分大小,只要只要是经过网络,就是远程了。不经过网络的才是本地
不仅是该ip,而且要在mysql中授权 这个要怎么改?我的虚拟机里是没有mysql的。我要在主机里的mysql里面把要访问的虚拟机ip加进去吗?