畏惧在使用TP框架时瞧见“网络错误”这四个字,特别是在那线上环境里骤然出现报错的情况。
结合我所应对处理过的那上百例属于同一类型的问题而言在那些情况当中这类报错超过90%都并非是TP自身本身的问题反而是环境配置或者调用方式出现错误。
检查CURL请求的SSL证书验证。
不少进行开发工作的人,为了图方便省事,直接将证书验证予以关闭,然而,在线上的那种环境之下,必须要指定准确无误的证书路径。
将ssl_verify功能开启,且对其cert参数进行配置,则需先去到/vendor/topthink/think-library/src/Request.php这个特定的文件位置。要是不做这般的举动,那当请求第三方API之际,就极容易引发网络错误,进而影响到跟第三方API交互的正常开展,导致无法顺利进行。
确认PHP的open_basedir限制。
存在这样一种情形,部分虚拟主机或者安全软件会对PHP加以限制,让其仅能访问特定目录。要是TP的 runtime目录以及vendor目录被隔离,框架在内部请求资源时就会出现失败状况。
在php.ini中放开限制或调整项目目录权限能解决。
排查本地DNS解析故障。

在 TP 调用内部微服务之际,或者在其调用外部接口之时,若出现域名解析失败的状况,同样会报网络错误。
先对目标域名进行ping操作,以此来确认连通性,接着在服务器的/etc/hosts里绑定稳定的IP,进而避开DNS缓存污染。
你遇到过哪种场景下的TP网络错误?
是API调用还是本地环境报错?
欢迎留言具体细节,一起排查。
转载请注明出处:TP官方网站,如有疑问,请联系()。
本文地址:https://ygkysy.com/tpgfxzrk/5121.html
