gpt4 book ai didi

php - 即使在 HTTP 500 内部服务器错误之后,是否可以保持 PHP 脚本运行?

转载 作者:行者123 更新时间:2023-12-03 08:53:18 27 4
gpt4 key购买 nike

我在处理 PHP Web 应用程序中的“HTTP 500 内部服务器错误”时遇到问题。
我的 Web 应用程序正在循环访问多个外部 Web 服务,如果其中任何一个出现上述错误,我的脚本将终止而不执行其他 URL。

以下是我正在尝试处理的代码片段,任何帮助将不胜感激。
如果有人想要更多信息,请告诉我。

$arrURLs        = array('https://example1.com/abc1', 'https://example1.com/pqr2', 'https://example2.com/abc1', 'https://example2.com/pqr2');
$arrResponse = array();
foreach( $arrURLs as $strURL ) {
$soap_options = array('soap_version' => SOAP_1_1,
'debug'=>1,
'trace'=>1,
'exceptions'=>TRUE,
'cache_wsdl'=>WSDL_CACHE_NONE,
'connection_timeout'=> 500,
'stream_context' => stream_context_create(array('ssl' => array('verify_peer'=> false,'verify_peer_name'=>false,) ) ) );
try{
$client = new SoapClient( $strURL . '?wsdl', $soap_options );
$client -> __setLocation( $strURL );
$response = $client->method1();
array_push( $arrResponse, $response );
} catch(\Exception $e) {
$strError = 'Exception while connecting to URL: ' . $strURL . 'Error Message: ' . $e->getMessage();
echo $strError;
}
}
// parse $arrResponse after getting from all web services;

谢谢。

最佳答案

try{
$client = new SoapClient( $strURL . '?wsdl', $soap_options );
$client -> __setLocation( $strURL );
$response = $client->method1();
array_push( $arrResponse, $response );
} catch(\SoapFault $soapfault) {
$strError = 'SoapFault exception is caught for URL: ' . $strURL . 'Error Message: ' . $soapfault->getMessage();
echo $strError;
continue;
} catch(\Exception $e) {
$strError = 'Exception while connecting to URL: ' . $strURL . 'Error Message: ' . $e->getMessage();
echo $strError;
continue;
}

在 cakephp 中,您需要显式处理 SoapFault 异常。您可以使用 catch(SoapFault $soapfault)通过放置 use SoapFault;catch(Exception $e)通过放置 use Cake\Core\Exception\Exception;之前 try catch堵塞。

确保 $soap_options包含 'exceptions'=>TRUE,如果异常设置为 FALSE,您的异常将不会被捕获并且 脚本将终止而不捕获您的异常 .

关于php - 即使在 HTTP 500 内部服务器错误之后,是否可以保持 PHP 脚本运行?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35453885/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com