laravel /框架:“ 5.6” PHP 7.3.5
我正在使用Zoap软件包制作Soap Server API,当我尝试通过ngrok访问Laravel Application(本地)上的端点时(这不是问题),我遇到了以下错误:
PHP警告: SoapServer :: SoapServer(http://7184fa0e.eu.ngrok.io/zoap/demo/server?wsdl): 无法打开流:HTTP请求失败!在 C:\ something \ something \ something \ something \ something \ something \ vendor \ zendframework \ zend-soap \ src \ Server.php 在线915 [2019年7月4日星期四11:06:11] PHP警告: SoapServer :: SoapServer():I / O警告:无法加载外部实体 “ http://7184fa0e.eu.ngrok.io/zoap/demo/server?wsdl"在 C:\ something \ something \ something \ something \ something \ something \ vendor \ zendframework \ zend-soap \ src \ Server.php 在线915上[2019年7月4日星期四11:06:11] PHP致命错误:SOAP错误: 解析WSDL:无法从中加载 'http://7184fa0e.eu.ngrok.io/zoap/demo/server?wsdl':加载失败 外部实体“ http://7184fa0e.eu.ngrok.io/zoap/demo/server?wsdl”
我正在尝试调试以发现发生了什么,据我所知,这可能是一个无限循环。如果我向/zoap/demo/server?wsdl
发出请求,它将返回wsdl罚款,尽管如果我向/zoap/demo/server
发出请求,它将被加载60秒然后返回
PHP致命错误:最长执行时间超过60秒
阻止zoap/demo/server?wsdl
端点。
我跟踪了代码以找到确切的循环发生位置,好像在这里:
$server = new SoapServer($this->wsdl, $options);
,Server.php
文件,getSoap
功能。 $this->wsdl
返回的wsdl URL为字符串,而$options
返回的带有soap_version的数组,所以我想它们工作正常。
出于好奇,我尝试将public function server($key)
中的ZoapController
拆成两半,以在另一条路径上获取wsdl并解决了无限循环。不过,我最终得到了一个空的XML文件。
我没有主意,如果有人可以找我,我将不胜感激。如果需要,请提供其他信息。
预期结果应该是获取相应动作的xml文件。