为什么get_meta_tags()无法正常工作

时间:2011-04-28 13:51:07

标签: php keyword

我使用了get_meta_tags(“squidoo.com”)来获取关键字和描述。当我使用WAMP Server 2.1(PHP 5.3)在我的PC上运行时,它工作得很好但是当我上传到Linux服务器PHP 5.2时它对squidoo.com不起作用。

我用

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

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

当我在我的电脑上运行时它工作得很好但是当我上传到服务器时,$ keywrds和$ desc中有空白数据。

以上代码适用于几乎所有网站,我在www.squidoo.com和其他一些网站上出错

2 个答案:

答案 0 :(得分:3)

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

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

将其关闭被视为良好的安全措施,因此大多数PHP托管服务提供商默认情况下会将其关闭。您可以根据自己的提供商自行启用它,或者您可能只需使用CURL下载URL然后检查下载的文件即可解决此问题。

请参阅此配置设置的PHP手册条目:http://www.php.net/manual/en/filesystem.configuration.php#ini.allow-url-fopen

答案 1 :(得分:1)

这可能是因为您的WAMP设置中有一个名为squidoo.com的本地文件。如果您希望它在实际网站上运行,那么您必须提供一个URL:

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

请注意http://区分网址和文件。