很多站长朋友们都不太清楚php调用接口失败,今天小编就来给大家整理php调用接口失败,希望对各位有所帮助,具体内容如下:
本文目录一览: 1、 php webservice 调用错误出现 Fault occurred while processing 2、 php 调用http接口 出现错误 3、 php进程超时接口返回504错误分析 php webservice 调用错误出现 Fault occurred while processing本地调用接口的时候的参数中有很多参数是空的,将这些参数替换为空字符串 ""再试试,说不准就好了。
对于我这个方法的问题追踪最终的产生原因 ,是webservice服务端的处理中没有空从参数进行处理,也就是说这是服务端的问题,客户端可以使用替换null为空字符串的方法进行解决。
php 调用http接口 出现错误122.Internal Server Error
The server encountered an internal error or misconfiguration and was unable to complete your request.
Please contact the server administrator at admin@phpStudy.net to inform them of the time this error occurred, and the actions you performed just before this error.
More information about this error may be available in the server error log
问题原因:内部服务器出错,这个服务偶然的一个内部错误或者丢失配置并且无法去编译你的请求;请联系这个服务的管理员通过xx邮箱去通知他们这个错误发生的时间,并且这个检查你的在这个错误之前执行过得程序.很多内部关于错误可能有效的在这个服务错误日志中
解决方法:刷新一下页面就行了,服务器炸了
125.Internal Server Error
The server encountered an internal error or misconfiguration and was unable to complete your request
问题原因
解决方法:服务器目录,虚拟主机配置出错
132.500 Internal Server Error
The server encountered an internal error or misconfiguration and was unable to complete your request.
Please contact the server administrator at admin@phpStudy.net to inform them of the time this error occurred, and e actions you performed just before this error.
More information about this error may be available in the server error log.
问题原因:500是服务器错误,内部服务错误,这个服务器偶然遇见了一个内部错误或者丢失了配置文件,导致无法去处理你的请求,请联系管理员,更多的错误信息,或许在服务器日志里
解决方法:这个是重写模式的文件语法格式不正确,导致的服务器加载这个错误文件时报错.解决方法,任意换一个重写文件
我编程这么久,就遇到过这三次,你根据自己问题看下哪一条适用吧。
php进程超时接口返回504错误分析在一次接口测试中,发现返回的http 504 time out 的错误,然后查看了php-fpm的错误日志,发现了如下错误
从表现上看,是php进程超时导致的进程被kill了,那么这个超时时间以及kill的机制是跟哪些参数有关呢,这里系统这里一下。
Nginx服务一般因为php的错误或者超时会有两种错误码502 bad Gateway 或者 504 Gateway Time-out
一种情况是php产生了语法错误,比如循环调用、变量作用域错误、方法不存在等,如果开启错误日志输出的话,这种错误在php-fpm的错误日志中是可以看到调用栈信息的。
另外一种情况可能就是超时引起的php-fpm主动kill的情况,在php.ini和php.fpm中有两个配置项,用来管理php脚本的最大执行时间
当php脚本的执行时间超过这个时间时,PHP-FPM不只会终止脚本的执行,还会终止执行脚本的Worker进程。所以Nginx会发现与自己通信的连接断掉了,就会返回给客户端502错误。
以顶部的错误为例,当报502错误是,nginx的errorlog中有如下日志,:
所以只需将这两项的值调大一些就可以让PHP脚本不会因为执行时间长而被终止了。request_terminate_timeout可以覆盖max_execution_time,
所以如果不想改全局的php.ini,那只改PHP-FPM的配置就可以了。
此外要注意的是Nginx的upstream模块中的max_fail和fail_timeout两项。这两个配置表示在fail_timeout事件内,如果fail的测试达到max_fail,那么在接下来的fail_timeout时间内,Nginx都会认为上游服务器挂掉了,都会返回502错误。
所以可以将max_fail调大一些,将fail_timeout调小一些。
PHP-FPM设置的脚本最大执行时间已经够长了,但执行耗时PHP脚本时,发现Nginx报错从502变为504了。这是为什么呢?
因为我们修改的只是PHP的配置,Nginx中也有关于与上游服务器通信超时时间的配置
以Nginx超时时间为90秒,PHP-FPM超时时间为300秒为例,报504 Gateway Timeout错误时的Nginx错误访问日志如下:
调高这三项的值(主要是read和send两项,默认不配置的话Nginx会将超时时间设为60秒)之后,504错误也解决了。
而且这三项配置可以配置在http、server级别,也可以配置在location级别。担心影响其他应用的话,就配置在自己应用的location中吧。
要注意的是factcgi_connect/read/send_timeout是对FastCGI生效的,而proxy_connect/read/send_timeout是对proxy_pass生效的。
参考链接: 感谢分享!
关于php调用接口失败的介绍到此就结束了,不知道本篇文章是否对您有帮助呢?如果你还想了解更多此类信息,记得收藏关注本站,我们会不定期更新哦。
查看更多关于php调用接口失败 php调用外部接口的详细内容...