2011-04-28 201 views
0

我已经使用get_meta_tags(“squidoo.com”)来获取关键字和描述。当我用WAMP Server 2.1(PHP 5.3)运行我的电脑时,它工作的很好,但是当我上传到Linux服务器PHP 5.2时,它对于squidoo.com并不适用。为什么get_meta_tags()无法正常工作

$datas = get_meta_tags("http://squidoo.com") 

$keywrds = $datas['keywords']; 
$desc = $datas['description']; 

测试时,我在我的电脑它完美地工作,但在$ keywrds和$递减空白数据时,我上传到服务器上运行。

以上代码的工作几乎场所,我得到www.squidoo.com错误和其他一些人只

+0

为什么不实际描述发生了什么?它会给出错误吗?它会返回意想不到的事情吗你用来检查退货等的代码是什么等等。请在你的问题上稍加努力... – Nanne 2011-04-28 13:54:44

+0

谢谢。我已更新问题 – 2011-04-28 14:03:35

回答

3

您没有向我们提供有关您遇到的错误的更多信息,但导致失败的最可能原因是您的本地服务器配置为允许打开文件的命令使用URL,而您的Linux服务器不是。

这是一个PHP.ini配置设置,它指定您是否可以使用URL作为文件名。如果它被关闭,那么PHP将不允许你从远程站点打开文件,并且只允许它从本地服务器上的文件中获取它。

关闭它被认为是很好的安全实践,所以大多数PHP托管服务提供商会默认关闭它。您可以根据您的提供商自行开启它,也可以通过使用CURL下载URL并检查下载的文件来解决此问题。

参考设置了该配置PHP手册录入这里:http://www.php.net/manual/en/filesystem.configuration.php#ini.allow-url-fopen

+0

我测试$ datas = get_meta_tags(“http://squidoo.com”) $ keywrds = $ datas ['keywords']; $ desc = $ datas ['description']; 当我在我的电脑上运行它的工作完美,但是当我上传到服务器时,$ keywrds和$ desc中有空白数据。 – 2011-04-28 14:00:27

+0

@Spiker - 你检查了'allow-url-fopen' INI设置的值吗? – Spudley 2011-04-28 14:03:47

1

这可能是因为你有你的WAMP安装名为squidoo.com本地文件。如果你想让它实际的网站上工作,那么你必须提供一个网址:

print_r(
    get_meta_tags("http://squidoo.com") 
); 

通知从文件区分网址的http://

相关问题