您现在的位置是:焦点 >>正文

php默认端口号是多少

焦点312人已围观

简介PHP默认端口号是80。这个答案简单到让人怀疑是不是陷阱,但确实就这么回事。Apache或Nginx监听80端口时,PHP作为模块或FastCGI进程跟它们配合,真正对外服务的端口由Web服务器决定, ...

PHP默认端口号是认端80。这个答案简单到让人怀疑是口号不是陷阱,但确实就这么回事。多少Apache或Nginx监听80端口时,认端PHP作为模块或FastCGI进程跟它们配合,口号真正对外服务的多少端口由Web服务器决定,PHP本身不直接暴露端口。认端

但你要是口号用PHP内置的开发服务器,情况就变了。多少命令行敲php -S localhost:8000,认端默认端口变成8000。口号这玩意儿是多少给本地调试用的,跑起来就是认端PHP自己监听端口,跟Apache、口号Nginx半毛钱关系没有。多少很多人第一次用内置服务器,访问localhost没反应,后来才发现忘了加端口号。

生产环境里,PHP-FPM才是主角。它默认监听9000端口,只跟本机上的Web服务器通信,外部访问根本摸不到这个端口。9000这个数字挺有意思,比80大得多,但又不是常见的高位端口,像是故意选了个不显眼的位置。

有一次我帮朋友排查服务器问题,他非说PHP端口被占用了。我上去一看,PHP-FPM确实起了,但监听的是9001。原来他之前装过另一个PHP版本,两个配置文件都指向同一个端口,改完这个忘了那个。这种坑,新手容易踩,老手也偶尔翻车。

还有个容易混淆的点——HTTPS。如果网站用了SSL证书,默认端口变成443,而不是80。但PHP本身不关心这些,它只知道处理请求,端口的事全是Web服务器在管。你换个端口跑PHP,只要Web服务器配置对,PHP照样干活。

实际操作中,改PHP-FPM端口的人不少。有人为了安全,把9000改成别的随机端口,比如9100、9200,觉得这样能防止被扫描。说实话,意义不大。攻击者真要搞你,扫端口是基本功,改成什么都能扫出来。不如把防火墙配好,限制只允许本机访问。

Windows环境下有个坑,IIS默认用80端口,如果你同时装了Apache,两个抢同一个端口,肯定有一个起不来。这时候你得手动改其中一个的端口,或者干脆让IIS用别的端口,PHP就跟着Web服务器走。我在Windows上调试时,习惯把Apache改成8080,省得跟IIS打架。

回到最初的问题——PHP默认端口是多少,得看你问的是哪种运行方式。跟Apache或Nginx配合时,PHP没有独立端口,用的是Web服务器的80。用PHP-FPM时,默认9000。用内置开发服务器,默认8000。所以,如果面试官问你这个,你得反问一句:你指的是哪种场景?

我见过最离谱的配置,有人把PHP-FPM的端口改成3306,跟MySQL撞车。结果MySQL起不来,PHP也连不上数据库,整个服务瘫痪。排查了半天才发现是端口冲突。改端口前先查查哪些端口被占了,netstat -tlnp看一眼,几秒钟的事,能省半天麻烦。

最后说个冷知识。PHP内置服务器其实支持指定任意端口,php -S localhost:12345也行。但没人会真用12345这种端口跑生产,顶多拿来测试。真要上生产,还是老老实实用80或443,用户访问不用带端口号,体验也好。端口这东西,默认值就是给懒人用的,改来改去反而容易出幺蛾子。

Tags:

相关文章

  • 安全牛官网

    焦点

    打开安全牛官网首页,第一眼看到的不是花哨的动画,而是密密麻麻的行业资讯滚动条。这个网站从2014年上线至今,一直是国内安全圈从业者每天必刷的“早报”。它不像那些动辄引用“某专家表示”的科技媒体,反而更 ...

    【焦点】

    阅读更多
  • 哪个游览器可以上敏感网站

    焦点

    我直接说结论:没有任何一款浏览器能保证你“上敏感网站”绝对安全。所谓“敏感网站”范围太广——从被墙的新闻站点到暗网论坛,从盗版资源站到成人内容,每个类别的风险等级完全不同。但如果你要的是“相对能访问更 ...

    【焦点】

    阅读更多
  • 测试网上的token是否有价值

    焦点

    测试网上的token到底值不值钱?直接说结论:绝大多数不值,但有一种情况例外——它可能成为主网token的“期权凭证”。 先看个真实案例。2023年以太坊Sepolia测试网上的某个DeFi项目发了测 ...

    【焦点】

    阅读更多


友情链接