如何使PHP脚本运行而不重定向到它?

如何使PHP脚本运行而不重定向到它?,php,execute,Php,Execute,我正在制作一个简单的基于网络的控制面板,我想最简单的方法就是在两台机器上安装PHP(一台是面向网络的机器,另一台是在VPN后面),基本上我需要它,所以当我在机器1的外部IP上按下一个按钮时,它向机器2的面向内部的IP(例如192.168.100.1)发送请求,并运行PHP文件(test.PHP加上一些$\u GET数据),而不实际将最终用户重定向到192.168.100.1,因为显然,由于没有访问权限,这将超时。您可以使用cURL将HTTP请求从机器1发送或转发到机器2,并接收机器2给您的响应,

我正在制作一个简单的基于网络的控制面板,我想最简单的方法就是在两台机器上安装PHP(一台是面向网络的机器,另一台是在VPN后面),基本上我需要它,所以当我在机器1的外部IP上按下一个按钮时,它向机器2的面向内部的IP(例如
192.168.100.1
)发送请求,并运行PHP文件(test.PHP加上一些
$\u GET
数据),而不实际将最终用户重定向到
192.168.100.1
,因为显然,由于没有访问权限,这将超时。

您可以使用cURL将HTTP请求从机器1发送或转发到机器2,并接收机器2给您的响应,如果需要,还可以处理这些响应以向用户显示它们


您也可以使用(XML-/JSON-)RPC或SOAP,这将更加优雅和可扩展(比使用cURL更常见),但它将具有更高的学习曲线,具有更大的设置时间/工作量。

您可以使用cURL将HTTP请求从机器1发送或转发到机器2,并接收机器2给您和您的响应(如果需要)处理这些响应以向用户显示它们


您也可以使用(XML-/JSON-)RPC或SOAP,这将更加优雅和可扩展(比使用cURL更常见),但它将具有更高的学习曲线,具有更大的设置时间/工作量。

您还应该能够使用(通常支持http协议)或为简单http get请求设计的函数


这可能不是最理想的方法,但应该很容易做到。

您还应该能够使用(通常支持http协议)或为简单http get请求设计的函数


它可能不是最理想的方式,但应该是相当容易做到的。

< P>如果您想让某些内部PHP页面在外部服务器上访问,您应该考虑设置反向代理,而不是用PHP手动代理请求。 有关示例,请参阅Apache文档:


当然,如果您在外部服务器上进行身份验证,并且/或者需要在内部PHP代码之前/之后在外部服务器上执行额外的PHP代码,那么这将不起作用。在这种情况下,请参考Mihai或Louis的答案。

如果您只想在外部服务器上访问某些内部PHP页面,您可以应该考虑设置反向代理,而不是用PHP手动代理请求。

有关示例,请参阅Apache文档:


当然,如果您在外部服务器上进行身份验证,并且/或者需要在内部PHP代码之前/之后在外部服务器上执行额外的PHP代码,这将不起作用。在这种情况下,请参考Mihai或Louis的答案。

+1 file\u get\u内容我忘了。这比cURL简单,更不用说RPC或SOAP了。它有它的(许多)限制,但对于小任务,它应该做得很好。为什么?与服务器代理相比,您的两种解决方案都不好,就像solymosi回答的那样。文件获取内容和卷曲都不应该用于此。每个服务器软件都内置了某种代理,用于类似于OP的目的。我不反对,因为它没有错回答,但是有更好的方法。当然,这是真的-这取决于他真正想要什么。我想要的是当在机器1上按下一个按钮时,它在机器2上运行一个PHP脚本。我还不需要从机器2返回到机器1的任何反馈,或者诸如此类的东西。我忘记了+1文件内容。这很简单r比cURL更重要,更不用说RPC或SOAP了限制,但对于小任务,它应该做得很好。为什么?与服务器代理相比,您的两种解决方案都不好,就像solymosi回答的那样。文件获取内容和卷曲都不应该用于此。每个服务器软件都内置了某种代理,用于类似于OP的目的。我不反对,因为它没有错回答,但是有更好的方法。当然,这是真的-这取决于他真正想要什么。我想要的是当在机器1上按下一个按钮时,它在机器2上运行一个PHP脚本。我不需要从机器2返回到机器1的任何反馈,或者诸如此类的东西。我不希望它们可以从外部访问,PHP页面机器2上的s只充当控制数据和运行shell命令的方法,它们没有自己的UI或反馈,因为这些都是由机器1上的站点处理的。在这种情况下,请参考其他答案。我不希望它们可以从外部访问,机器2上的PHP页面只充当控制数据和运行shell c的方法ommands,他们没有自己的UI或反馈,因为这些都是由机器1上的站点处理的。在这种情况下,请参考其他答案。只是为了一些额外的输入,似乎每个人都认为我希望机器2上的文件通过机器1显示给最终用户,这不是我想要的。我希望机器1使PHP代码在机器2上运行。只是f或者一些额外的输入,似乎每个人都认为我希望机器2上的文件通过机器1显示给最终用户,这不是我想要的。我希望机器1使PHP代码在机器2上运行。