Php 如何添加异常?

Php 如何添加异常?,php,Php,我有一个php网站www.test.com。 在这个站点的索引页面中,我正在用下面的php代码更新另一个站点(www.pgh.com)的数据库 $url = "https://pgh.com/test.php?userID=".$userName. "&password=" .$password ; $response = file_get_contents($url); 但是,现在网站www.pgh.com关闭了。因此它也影响了我的网站“www.test.com” 那么,我如何才能

我有一个php网站www.test.com。

在这个站点的索引页面中,我正在用下面的php代码更新另一个站点(www.pgh.com)的数据库

$url = "https://pgh.com/test.php?userID=".$userName. "&password=" .$password ;
$response = file_get_contents($url); 
但是,现在网站
www.pgh.com
关闭了。因此它也影响了我的网站“www.test.com”

那么,我如何才能在代码中添加一些异常或其他内容,以便在其他站点关闭时我的站点能够正常工作呢

$response = file_get_contents($url);
if(!$response)
{
    //Return error
}
从 添加超时:

$ctx = stream_context_create(array(
    'http' => array(
        'timeout' => 1
        )
    )
);
file_get_contents("http://example.com/", 0, $ctx); 
失败时返回false

从 添加超时:

$ctx = stream_context_create(array(
    'http' => array(
        'timeout' => 1
        )
    )
);
file_get_contents("http://example.com/", 0, $ctx); 
失败时返回false。

您有两个选项:

  • 使用将超时添加到
    文件\u get\u contents
    调用中(手册中有很好的示例;文档中有
    超时
    参数)。这并不完美,因为加载页面时,即使是一秒钟的超时也会导致明显的暂停

  • 更复杂但更好:使用缓存机制。在一个单独的脚本中执行
    file\u get\u contents
    请求,该脚本使用(如果您有访问权限)频繁调用(例如,每15分钟调用一次)。将结果写入本地文件,实际脚本将读取该文件

您有两种选择:

  • 使用将超时添加到
    文件\u get\u contents
    调用中(手册中有很好的示例;文档中有
    超时
    参数)。这并不完美,因为加载页面时,即使是一秒钟的超时也会导致明显的暂停

  • 更复杂但更好:使用缓存机制。在一个单独的脚本中执行
    file\u get\u contents
    请求,该脚本使用(如果您有访问权限)频繁调用(例如,每15分钟调用一次)。将结果写入本地文件,实际脚本将读取该文件


如果无法访问远程主机,这将需要很长时间才能超时。@Wrikken即使是最短的一秒超时,也会在中断期间为每个请求延迟该时间量的页面传递。缓存是唯一的好方法。如果无法访问远程主机,这将需要很长时间才能超时。@Wrikken在中断期间,对于每个请求,即使是最短的一秒钟超时,也会将页面传递延迟该时间量。缓存是实现这一点的唯一好方法。