我需要一个解决方案来在多个域上运行一些PHP代码。这些域托管在不同的服务器上,基本的PHP代码不在其中任何一个上,假设是一个开发服务器。
我所能想到的就是在dev服务器上托管的文件上使用file_get_contents,并使用eval运行该代码。所以在每个域上我都有一个index.php文件:
error_reporting(0);
$code = file_get_contents("http://www.mydevserver.com/main.php");
if ($code === false) {
// treat error
die();
} else {
// run code
eval($code);
}
到目前为止,我只有一个文件中包含一些函数,但在不久的将来可能会变得更加复杂。我不得不提到我不仅要处理数据,还要处理演示文稿,因此我不知道API是否有用。
有关如何做得更好的任何见解?
我必须指出,遗憾的是我所有的东西都是远程服务器上的FTP访问,而我无法得到任何其他东西。
谢谢!
答案 0 :(得分:5)
你应该真正托管他们运行的文件。由于多种原因,你现在正在做的事情非常不安全。如果您担心保持代码同步,设置subversion或类似的源版本控制系统,那么在不同服务器之间同步代码就像更新本地存储库一样简单。
答案 1 :(得分:1)
选项:
答案 2 :(得分:1)
只是包含或需要该死的代码(即,将吐出必要的PHP代码的脚本或包含PHP源代码的纯文本文件),但我不建议这样做(事实上我会敦促你重新考虑你做出的这个选择)。这只有在当然启用了URL包装器时才有效。
答案 3 :(得分:0)
file_get_contents将返回PHP脚本,而不是源代码。
请重新考虑您是否需要这样做,如果真的需要加载动态PHP,请考虑使用安全连接,也许是SFTP。
此外,正如大家的建议,我还建议使用版本控制,只部署稳定版本。
答案 4 :(得分:0)
提出一个文件夹结构和文件命名方案,它将在所有这些服务器上保持一致。完成后,将文件写入FTP将文件同时写入所有服务器将非常容易。
从远程服务器获取和执行代码要求被黑客攻击。