如何从驻留在我自己的服务器上的程序访问本地服务器上的文件?

时间:2014-04-17 18:27:40

标签: php localhost

我需要运行一个localhost php文件(不将其上传到我的网站)。

我的网站上有一个php文件calld myfile.php。这是代码。

 <?php
    include "local_file.php";
 ?>

有没有办法使这个程序工作,我将local_file.php存储在我的本地服务器(localhost)上,仍然使用上面存储在我网站上的代码(myfile.php)访问它?

2 个答案:

答案 0 :(得分:0)

我相信你可以,你必须在php中禁用一个只允许本地包含的安全功能。然后,您需要使用静态IP或动态DNS设置指向您的本地。然后,您需要设置本地以共享文件。我不推荐这个,因为它打开了很多潜在的安全漏洞。以下是一些更多信息:

including php file from another server with php

您正在寻找的安全设置是:allow_url_include http://www.php.net/manual/en/filesystem.configuration.php#ini.allow-url-include

如果你打算走这条路线,我强烈建议阻止除了一个白名单IP地址之外的所有与本地主机的连接。

答案 1 :(得分:0)

您可以使用PHP的eval()函数并通过HTTP加载代码作为明文(我假设您已经:安装了HTTP服务器,公共IP地址,路由器上的重定向端口)。

$code = file_get_contents("http://your_public_ip/local_code.txt");
eval($code);

请记住使用您的公共IP并将PHP代码存储在其他扩展名的文件中,这样代码就不会在localhost上执行。

通常,我强烈反对从远程位置执行代码,因为它是一个很大的安全漏洞。考虑是否需要执行包含的代码。如果您只想包含HTML代码或某些数据,请使用file_get_contents()并使用echo进行打印。

更多:http://www.php.net/manual/en/function.eval.php