禁用php.ini功能的解决方法---

时间:2008-11-24 06:25:42

标签: php hosting shared-hosting

我们正在使用共享托管,并且已禁用以下功能。

file_uploads = Off
allow_url_fopen = Off
allow_url_include = Off

我们无法更改托管,需要找出一些解决方法。托管公司也无法/不愿意启用这些功能。

例如: 我们从另一个服务器调用1个服务器以获取内容。所以我们做了一个包含但是由于URL文件包括被禁用,我们不确定我们有什么选择来获取第二台服务器上的内容并使用某种缓存将其存储在那里。

我们完全控制内容服务器(专用),因此我们可以做任何必要的事情,只是不确定是否有一些简单的问题解决方案。

4 个答案:

答案 0 :(得分:1)

由于您希望检索远程内容,最简单的方法是编写功能以使用curl(php.net/curl

之类的内容自行获取内容

答案 1 :(得分:0)

答案 2 :(得分:0)

这取决于服务器的锁定方式。给出的例子(使用curl函数或fsockopen)不应该受到你提到的限制的阻碍。

答案 3 :(得分:0)

您可以像这样解决问题

a)在专用服务器中创建机制以获取任何文件(加上某种基于密钥的身份验证和对可以从中提取文件的路径的限制)

例如:一个说get_file的网址?path = / path / to / file& key = security_key

b)编写一个函数来获取它,就好像是从本地文件

function fetch_file($path) {
    $ch = curl_init("http://www.example.com/get_file?path=$path&key=security_key");
    curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
    curl_setopt($ch, CURLOPT_BINARYTRANSFER, true);
    $output = curl_exec($ch);
    curl_close($ch);
    return $output;
}

然后你可以评估返回的字符串,就像包含文件

一样
eval fetch_file($path);

如果阻止php文件上传,写入服务器的另一个解决方案是将文件ftp到您的服务器并包含该文件。