Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/amazon-s3/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
在多个域上运行基本php代码_Php_Hosting - Fatal编程技术网

在多个域上运行基本php代码

在多个域上运行基本php代码,php,hosting,Php,Hosting,我需要一个解决方案来在多个域上运行一些PHP代码。这些域托管在不同的服务器上,基本PHP代码不在其中任何一个服务器上,比如说开发服务器 我所能想到的就是在dev服务器上托管的文件上使用file_get_内容,并使用eval运行该代码。因此,在每个域上,我都有一个index.php文件: 错误报告(0) $code=文件\u获取\u内容(“http://www.mydevserver.com/main.php"); 如果($code==false){ //处理错误 模具(); }否则{ //运行

我需要一个解决方案来在多个域上运行一些PHP代码。这些域托管在不同的服务器上,基本PHP代码不在其中任何一个服务器上,比如说开发服务器

我所能想到的就是在dev服务器上托管的文件上使用file_get_内容,并使用eval运行该代码。因此,在每个域上,我都有一个index.php文件:


错误报告(0)
$code=文件\u获取\u内容(“http://www.mydevserver.com/main.php");
如果($code==false){
//处理错误
模具();
}否则{
//运行代码
评估($code);
}

到目前为止,我只有一个包含几个函数的文件,但在不久的将来事情可能会变得更复杂。我必须提到的是,我不仅处理数据,还处理表示,所以我不知道API是否有帮助

有没有关于我如何能做得更好的见解

我必须指出,不幸的是,我只有远程服务器上的FTP访问权限,我无法获得其他任何东西


谢谢大家!

你应该真的把文件放在运行它们的地方。由于多种原因,你现在所做的是非常不安全的。如果您关心保持代码同步、安装subversion或类似的源代码版本控制系统,那么在不同服务器之间同步代码就像更新本地存储库一样简单。

选项:

  • 本地存储代码,与版本控制签出或rsync保持同步
  • 创建一个NFS的SSHFS挂载(或任何可行的挂载),在那里使用这些文件

该文件的内容将返回PHP脚本,而不是源代码

请重新考虑您需要这样做,如果它强>真正的< /强>需要加载动态PHP,请考虑使用安全连接,也许sftp.


同样,正如大家所建议的,我也建议为此使用版本控制,并且只部署稳定的版本。

只是包括需要该死的代码(即,可以是一个吐出必要PHP代码的脚本,也可以是一个包含PHP源代码的纯文本文件),但我不建议这样做(事实上,我会敦促你重新考虑你所做的选择)。当然,这只有在启用URL包装器的情况下才会起作用。

提出一种在所有这些服务器上都保持一致的文件夹结构和文件命名方案。完成后,编写一个脚本将文件同时FTP到所有服务器将非常容易


从远程服务器获取和执行代码要求被黑客攻击。

不<代码>文件获取内容(“http://www.mydevserver.com/main.php“”将提供www.mydevserver.com上main.php生成的HTML;不是PHP源代码。@Salman A:除非www.mydevserver.com不处理PHP内容,而只是提供源代码,我认为这是基于这个问题。这很糟糕。你在考虑使用一些版本控制系统来做这件事吗?您可以在dev服务器上设置SVN/Git存储库,并定期或使用一些触发器同步worker。@Salman A@reko_\t:假设它是main.txt或其他什么,是的,它提供源代码。我现在不知道如何用另一种方式来做。@leafnode:不幸的是我不能这样做,我只有远程服务器上的FTP。这是主要的缺点,对此我无能为力。