我使用file_get_contents function从网站获取数据并将数据存储在数据库中。如果有一天剧本开始不起作用,对我来说会非常不方便。
我知道,它可以开始不工作,如果他们改变网站的结构,但现在我害怕,也许有机制来禁用这个功能的工作,可能来自服务器?
我试图找到有关它的文档,但无法获取,所以也许你会帮助我?
谢谢
答案 0 :(得分:3)
我知道,它可以开始不起作用, 如果他们改变了网站的结构, 但现在我害怕,那可能就在那里 是禁用工作的机制 这个功能,可能来自服务器?
是的,可以使用allow_url_fopen
选项从php.ini禁用它。您还有其他选项,例如CURL extension。
另请注意,如果您要使用file_get_contents
函数从安全协议中读取,则需要从php.ini启用 openssl 扩展名。
因此,如果file_get_contents
被禁用,您可以使用 CURL 扩展程序。
答案 1 :(得分:2)
可以使用disable_function禁用某些功能。此外,可以使用filesystem functions禁用allow_url_fopen {{}}}的网址支持。因此有可能file_get_contents
可能无法按预期工作。
答案 2 :(得分:2)
至少有两个PHP配置指令可能会破坏您的脚本:
allow_url_fopen
被禁用,则file_get_contents()
将无法获取不在本地磁盘上的文件
disable_functions
,可以禁用任何PHP函数。
很可能file_get_contents()
本身会被禁用......
但远程文件加载......嗯,向您的脚本添加替代加载机制可能是明智之举,如果allow_url_fopen
被禁用,则使用curl。