新手使用PHPCUSTOM打开php文件变下载的原因分析
更新:HHH   时间:2023-1-7


此文章匹配以下问题:
PHPCUSTOM为什么php文件不解析,为什么打不开php文件?为什么网站打开php后变成下载?为什么php无法解析?
网站管理设置php网站后,打开的目录和自己设置的不一样?为什么无法解析php文件,php文件无法解析的原因是什么?

新手常遇问题:
自己不正确操作后发现通过http://localhost或者http://127.0.0.1打开php文件,会变成下载!
原因分析:因不会操作或者没理解HANDLER模式FCGI运行模式造成的错误,其实只要学会使
用网站管理里面的端口模式域名模式就可以避免这些问题了,建议一定要有耐心去阅读完全文。

一定要阅读完!如果前面这一堆文字,你基础差无法理解,可以直接看后面的域名模式端口模式的正确使用方式即可。

如下图所示,通常软件主界面的80端口是默认网站使用的端口,如果网站管理里面的站点使用了80端口而没有绑定域名,这时候你用http://localhost或者http://127.0.0.1访问网站,实际上是访问了主界面的默认站点,而网站管理的站点是不生效的!因为网站管理里面的站点用了80端口,说明你启用的是域名模式,没绑定域名自然是无法正常访问!如果你不想绑定域名,应该使用端口模式,给网站随意分配其他非80端口后重启就可以用不同端口去访问了。再次重申!!如果网站管理里面的站点绑定的是80端口,就必须要绑定一个测试域名,否则就把网站管理里面的站点端口改成非80端口,然后右键“端口访问网站”(如果只是在本地测试网站,建议用端口模式区分不同站点和不同php版本,如果在服务器上使用,建议用域名模式来区分不同站点和不同php版本)


一些新手在网站管理添加站点时并没有绑定域名,所以网站管理里面所有使用80端口的站点都是不生效的,你用http://localhost或者http://127.0.0.1访问网站,实际上是访问了Apache默认的站点,和网站管理里面的站点没任何关系,而Apache默认站点这时候如果也没有配置php版本,自然就变成了下载,无法解析php了,如果你想要使用Apache默认站点,可以给默认站点配置php版本后,重启服务,清空浏览器缓存即可。(一般不建议用默认站点,建议使用网站管理,使用域名模式或者端口模式即可)

如果要使用Apache默认的站点,我们可以打开默认网站的设置,如下图右键E图标,


打开后您可以在此修改默认站点的目录和域名等信息,如果你想要给Apache的默认站点设置php版本,
只需要点击“默认站点php版本设置”这个按钮设置即可(可以给默认站点切换PHP版本 / HANDLER模式的
给默认站点设置HANDLER模式的PHP版本后,重启服务和清除浏览器缓存,就不会显示下载php页面文件了。

如果默认站点的php版本未设置!!那么自然无法解析php了,访问默认站点就会变成下载这个提示。
给默认站点选择php版本即可(此操作必须重启服务器和清空浏览器缓存后!否则打开还是显示下载)


按道理来说,软件的默认站点本身就设置了PHP版本,默认是可以正常解析PHP的,为什么新手进行一些操作后,通过http://localhost或者http://127.0.0.1来访问默认站点会变成下载呢?通常是因为默认站点的PHP版本被清空造成的,那么默认站点的php版本在什么情况下会被清空呢?有可能用户自己删除或清理造成的,也有可能是在升级Apache的时候,改变了Apache默认的位数,比如你将32位apache变成了64位,系统为了能正常启动,就会自动清空了默认站点的所有不适合当前Apache位数的php版本(只清空HANDLER模式模式的php版本,FCGI下的PHP版本是不会清空的),因为默认站点使用的是HANDLER模式,而HANDLER模式下,Apache的位数必须和php的位数一致,也就是32位Apache  必须配 32位的 PHP!而fcgi模式下没有这个设定,fcgi模式下Apache任意位数和PHP任意位数都能正常组合!而win系统下,fcgi模式的php版本也比HANDLER模式下的php给力,所以一般建议使用fcgi模式的php版本!!如果想使用FCGI模式,只需要在网站管理里面添加网站的时候,选择fcgi运行模式即可!win系统下HANDLER模式是比不上FCGI的,因为我只优化了FCGI模式的PHP版本,并且win下的HANDLER模式本来就不怎么好,也不太灵活,所以不推荐使用HANDLER模式。默认站点就是HANDLER模式,所以不建议使用默认站点,可以把默认站点右键E图标关闭掉,只使用网站管理的FCGI运行模式即可。出现php下载,或者php网站打开的目录和自己设置的不一样,主要是新手不会使用用网站管理,打开了默认站点造成的,正确的网站管理使用方式请继续往下看,阅读完全部文字



一般在网站管理里面,我们可以通过两种模式来区分不同站点和不同php版本。


域名模式(服务器运营常用)
所有端口必须设置成80,然后必须绑定域名,用不同的域名来区分不同站点和不同php版本。如果不绑定域名将不会生效!!
友情提示:使用域名模式,必须绑定域名,否则就不是域名模式了,如果不用域名模式,建议用端口模式,配置一个非80的端口即可。


端口模式(本地测试常用):
网站管理里面的所有网站端口必须设置成非80的,且所有端口都不能重复!端口模式不要使用80端口,如果你在网站管理里面使用了80端口,就意味着你启用的是域名模式!!因为端口模式下是采用不同的端口来区分不同站点和不同php版本的。

如果还不理解,请多阅读文章,或者查看此文章的视频教程:视频教程地址:未录制,有空再录制

返回web开发教程...