搜索

php可执行脚本的后缀是什么

发表于 2026-10-17 02:22:26 来源:烟消火灭网

PHP脚本的执行缀后缀,最标准的脚本答案就一个:.php。这几乎不用想,执行缀全世界的脚本PHP文件,十有八九都挂着这个尾巴。执行缀

但你要真以为只能用它,脚本那就太小看PHP了。执行缀我见过不少老系统,脚本文件后缀五花八门,执行缀比如.php3、脚本.php4、执行缀.php5,脚本甚至.phtml。执行缀这些是脚本历史遗留物,当年PHP版本迭代快,执行缀服务器管理员为了区分不同版本,就手动改了扩展名。现在你还能在一些古董服务器上撞见它们,尤其是那种十几年没动过的虚拟主机。

还有个更冷门的——.php7。我去年帮人排查一个外包项目,对方服务器上全是.php7文件,一问才知道,那哥们当年图省事,直接把PHP 7当后缀用了。服务器配置了AddHandler,照样跑得欢。你说规范不规范?不规范。但人家代码能跑,业务没崩,你也不能说它错。

反过来,有些后缀根本不是PHP,但照样能执行PHP代码。最常见的是.htaccess里加一句AddType application/x-httpd-php .txt,然后你写个shell.txt,里面全是PHP代码,访问时服务器照样解析。这招常被攻击者利用,上传个图片马,把图片后缀改成.php骗不过去,就改成图片后缀,再用.htaccess让服务器把图片当PHP跑。所以安全人员看到上传目录里有.htaccess,第一反应就是报警。

还有一种情况,命令行下跑PHP,后缀完全无所谓。你写个cron.php能跑,写个cleanup没后缀也能跑,只要文件头有#!/usr/bin/php或者你直接php /path/to/script指定文件就行。我自己的服务器上就有个定时任务文件,叫do_job,没后缀,纯属懒得打那几个字母。

但说回Web环境,我强烈建议你就用.php。为什么?因为Nginx和Apache的默认配置就是认它,你换个后缀,还得额外加配置,纯属给自己找事。而且框架层面,Laravel、ThinkPHP这些,入口文件全是index.php,你改成index.html试试?框架直接不认。路由重写规则也是基于.php来写的,乱改后缀,伪静态全废。

有个细节你可能没注意——.php后缀还有个隐藏作用:告诉服务器“这文件是动态的,别缓存”。很多CDN默认不缓存.php请求,就是怕拿到过期数据。你要是改成.html,CDN会当成静态页面疯狂缓存,用户看到的就是一堆旧页面,你改了代码也白改。

最后说个真实案例。之前有个客户,非要把所有PHP文件改成.do后缀,说这样显得“高级”,像Java一样。我劝了半天没用,结果上线当天,所有链接404。查了半天,发现是Nginx配置里只认location ~ \.php$,他改完后缀,请求直接落到静态文件处理逻辑,PHP代码全被当作文本输出,浏览器里显示一堆源代码。那场面,尴尬得不行。

所以结论很简单:Web环境用.php,命令行随便你。后缀这东西,本质上就是个映射关系,服务器认就行。但别为了特立独行去瞎改,除非你想让同事骂你,或者让下一个接手的人翻白眼。

随机为您推荐
友情链接
版权声明:本站资源均来自互联网,如果侵犯了您的权益请与我们联系,我们将在24小时内删除。

Copyright © 2016 Powered by php可执行脚本的后缀是什么,烟消火灭网   sitemap

回顶部