首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往
您找到你想要的搜索结果了吗?
是的
没有找到

HTTP状态码502与504的区别及解决思路

首先得搞清楚502错误和504错误的区别,以我比较熟悉的PHP为例,502是PHP-FPM(PHP的进程管理器没办法从进程池里找到可分配的进程来处理请求了,就会返回502错误,本质上是PHP进程状态异常—进程不够用了或者PHP服务根本就没开启),这种情况下应该检查PHP服务是否启动了,如果启动了,就要看一下是不是进程池太小,已经全部处于繁忙状态,这种情况下通常将PHP的可用进程数提高数提高就能解决问题;而504错误是网关超时,它代表负责处理HTTP请求的PHP进程超过了约定的最长时间仍未返回处理结果,出现这种异常的原因通常是sql执行的时间太长或代码里出现了死循环之类的问题。

03

如何避免用动态语言的思维写Go代码

由于招聘市场上Go工程师的供给量不足,所以在招人的时候我们招了不少愿意转型用Go语言进行开发的PHP工程师,不过虽说换了个语言,在他们代码的时候还是能发现很多PHP的影子。if语句后面非要带括号这种问题就不说了,这属于不懂事,gofmt就会强行把你掰过来。最大的问题还是因为以前用惯了PHP的数组,到写Go代码时还是不习惯先定义类型后使用这种习惯。还有就是以前写PHP的时候可能没养成使用异常的习惯,在返回值里约定特殊值来代表错误。所以后面我在团队内部做过一次培训,专门分享了怎么建立正确的Go编码习惯,以下是节选了当时演讲稿的一部分。其实不是专门针对PHP程序员,可能写动态语言的程序员在开始用Go写代码时都容易犯的一些错误。

02

利用PHP内置SERVER开启web服务(本地开发使用)

PHP 5.4.0起, CLI SAPI 提供了一个内置的Web服务器,这个内置的Web服务器主要用于本地开发使用,不可用于线上产品环境。URI请求会被发送到PHP所在的的工作目录(Working Directory)进行处理,除非你使用了-t参数来自定义不同的目录。如果请求未指定执行哪个PHP文件,则默认执行目录内的index.php 或者 index.html。如果这两个文件都不存在,服务器会返回404错误。当你在命令行启动这个Web Server时,如果指定了一个PHP文件,则这个文件会作为一个“路由”脚本,意味着每次请求都会先执行这个脚本。如果这个脚本返回 FALSE ,那么直接返回请求的文件(例如请求静态文件不作任何处理)。否则会把输出返回到浏览器。

03
领券