我正在编写一个扩展程序,将一些数据提取到外部网站 我想知道更可靠的方法是什么。
目前我正在使用cURL,但由于某些托管没有安装该库,我使用this method作为后备(fopen
与stream_context_create
)。<登记/>
但是,无论如何它有时会失败,我无法重现错误。
你知道其他方法吗?还有改进的余地吗?
修改: 可悲的是,我没有记录,因为我的测试没有问题。 一些客户报告说没有发送数据,我想知道是否有一系列后备操作,从最常见的一个(即cURL)开始到“最后一个”。
答案 0 :(得分:0)
如果你看起来足够努力,可能 比你提到的两个更多的选项,但在某些时候,客户需要有一个体面的主机,而不是责备你。
<强>卷曲强>
大多数主机提供cURL。有些人会禁用它,但很容易检查它。
<强>的fopen(URL)强>
这可以通过allow_url_fopen runtime option禁用,这也很容易检查。
你可以获得真正的创造性并使用外部Perl脚本,例如,做PHP不能的工作(按配置),但是如果主机禁用了外部执行功能会怎么样?
我认为提供这两个选项就足够了,然后提供适当的错误处理,以便客户知道它不会起作用。您的脚本在每台主机上运行并不是一个公平的期望。只是不要让客户看到一些不起作用的东西,而且你没有得到足够的信息来知道这是他们主人的错。