项目中使用服务来执行webservice,由于对方系统api不稳定,经常导致服务崩溃,只能重启,一个月差不多要重启一次。
初期的解决办法是捕获异常,然后continue掉。
<?php
try
{
$url = 'http://baidu.com';
$client = new SoapClient($url) or die("Database Connect Error");
}
catch (SoapFault $e)
{
echo $e->getMessage();
}上面的代码不到一个月再次挂掉了,错误是:
(1).SOAP-ERROR: Parsing WSDL: Couldn't load from 'http://120.234.34.32/SecondHandMobileAPI1.asmx?WSDL' : failed to load external entity
(2).PHP Fatal error: Uncaught SoapFault exception: [HTTP] Could not connect to host
如果对方的地址不存在或者不稳定的情况下进行实例化会直接抛出致命错误,本以为php内部实例化会抛出异常,方便捕获,但是却没有,于是直接屏蔽致命错误。
<?php
error_reporting(0);
try
{
$url = 'http://baidu.com';
$client = new SoapClient($url) or die("Database Connect Error");
}
catch (SoapFault $e)
{
echo $e->getMessage();
} Session在默认情况下是使用客户端的Cookie来保存Session ID的,所以当客户端的cookie出现问题的时候就会影响Session了,如果你单纯的认为SESSION和COOKIE没有联系的话请迅速百度补脑。 &nbs...
<?php /* *算法学习自百度.只是学习和记录 */ header("Content-type:text/html;charset=utf-8"); //1.设置奖项,id是奖项id,name是中奖名称,v是中奖概率 $arr =&n...
header() 函数向客户端发送原始的 HTTP 报头。(官方解释)通俗的讲header函数将参数中的字符串作为服务端的响应头来返回给客户端。什么是服务端的响应头?打开谷歌浏览器看看network中的请求response header信息即可。更多的参数百度response header即可浏览器...
上篇文章已经讲解arrayacces的原理,现在来讲解下arrayaccess的实际应用。一个大型的互联网项目中必然会存在各种配置信息,例如多种数据库信息:mysql,tidb,mongodb,redis,某个业务模块单独的配置信息如比例,额度等等,那么该如何治理配置信息?PHP项目中大部分的框架都...
posix_ttyname - 获取当前终端设备名称。<?php var_dump( posix_ttyname(STDOUT) );我们启动一个终端,执行上面的代码输出:/dev/tty1我们再启动一个终端,执行上面的代码输...
众所周知MyISAM引擎不支持事务,但是我只是知道不支持事务,并未测试具体的表现是什么,测试代码如下:try { //开启事务 Db::startTrans(); &...