我可以在两台服务器之间共享PHP代码吗?对于例如说我在server1上有一个文件A.php,在server2上有一个B.php;有没有办法在A.php中使用B.php?这背后的目的是确保我不想公开发布的某些代码位于我的服务器上,其他服务器只需在需要时使用它。
如果要求看起来模糊,请告诉我,我会尝试解释任何不清楚的事情。
答案 0 :(得分:2)
最好的方法是使用ioncube编码或类似的东西来保护你的代码。越过网络,除非它的直接链接会使每个响应减慢几毫秒,并且在繁忙的网站上快速播放广告。
答案 1 :(得分:1)
查看include()here的PHP文档。这意味着您可以使用本地服务器上的正确设置包含.php文件 - 但是,对文件的请求将在远程服务器上执行它,因此您需要确保.php文件是'重新包括echo的PHP脚本。我不知道这是一件特别好的事情 - 我只能想象演出最终会变得糟糕。
答案 2 :(得分:1)
有两种方法可以做到这一点。
第一个是做远程包含。您将包含远程服务器中的文件。这不会隐藏您的源代码。您可以限制对该IP地址的访问,但不保护您的代码。除了这是不好的做法和潜在的不安全因此我非常强烈建议反对它。
include 'http://serverb.com/some_file.php';
另一种可能性是使用网络服务。这意味着您的远程服务器提供服务。 server1向server2发出请求,向server2提供server2完成操作所需的数据。 server2处理数据并生成响应,该响应将返回给server1。 server1解析响应并使用它做一些有趣的事情。您可以使用file_get_contents
来执行此类请求。理想情况下,您可以使用json或XML序列化输出以进行传输和轻松解析。
$response = file_get_contents('http://serverb.com/webservice.php?param1=something¶m2=something_else');
注意: Web服务很慢,网络是一个主要的瓶颈。因此,您必须缓存结果或执行类似的操作。
答案 3 :(得分:0)
不,这是不可能的。运行php文件的Web服务器需要能够访问php文件才能执行它。如果您以某种方式通过网络共享文件,但是该文件可供其他服务器使用,则可以执行此操作。
如果你想这样做是为了避免代码被盗,那么你应该寻找PHP编码器和混淆器。