phpstudy搭建虚拟主机

时间:2024-02-24 22:02:56

      今天是第一天正式去公司上班,老大什么都没吩咐,我就默默在一旁搭建起了php开发环境,身为懒人的我直接下载了个phpstudy 2016版。

      说实话以前做项目时被phpstudy坑得挺惨的,有些模块功能明明修改配置文件开启再重启apache,可就是不生效,特别坑的一次就是一个项目大家多人开发,每个人数据库的配置都不一样,为了兼容适配大家的开发环境,加了个apache_getenv()函数作分支判断。

                                              

      然后度娘了一堆方法,修改这修改那配置,可是一启动又报错说函数未定义,于是我想会不会是因为低版本的php没有这个函数,查了一下文档发现php4.3.0以上版本就已经有这个函数了,我的phpstudy中最低就是5.3版本了,明显是支持这个函数的,走投无路之下,我把数据库配置文件忽略入库防止它提交到远程仓库,不然只要有个人一提交,所有人都收到影响特别坑爹。被坑多了了解到以后有了更好的解决方案,一个是像上面的第七行代码用gethostname函数,也不需要开启什么很方便;另一个就是在初始化仓库的时候先不要加入配置文件,然后再项目目录下的.gitignore里加上你要忽略的配置文件或目录,等初始化完毕后大家都把仓库clone到本地了再copy配置文件手动加上去,这样就不会因为各自的配置问题互相干扰。

      关于配置虚拟主机的方法,网上说的很多了,但可能是因为phpstudy的版本不同,你会发现有很多都不行或不生效。

      我只知道两种方法,简单说收。

方法一: Apache配置httpd-vhosts虚拟主机。这里我使用的是最新的phpstudy 2016,下载地址 http://www.phpstudy.net/a.php/208.html

     

      (1)先安装好phpstudy,开启apache,打开浏览器输入localhost,执行的是www目录下的l.php

          

          打开Apache\conf\httpd.conf,找到Include conf/extra/httpd-vhosts.conf,把前面的#号去掉

                                     

      这时候我们重启下apache,发现localhost已经无法打开了提示404 Not Found,原因是去掉#后悔引入httpd-vhosts.conf,而此时的httpd-vhosts.conf没有配置任何虚拟主机,所以这时localhost不生效了,所以接下来第二步。

      (2)用记事本打开httpd-vhosts文件,配置好localhost虚拟主机

          PS.由于phpstudy 2016是我下载来测试的,原来还有一个所以安装在D盘的phpstudy2目录下

                             

          改好保存,再往C:\Windows\System32\drivers\etc目录下的host文件中为你的虚拟主机指定一个IP

      

          重启apache,发现localhost又可以访问了

     (3)配置虚拟主机。接下来要做的事情很简单了,依葫芦画瓢,copy上面的代码,改一下目录修改localhost为你所要命名的虚拟主机名。然后保存,重启apacheOK啦!。

         网上说这时在浏览器中输入虚拟主机名会403没有权限,但我没遇到这种情况,如果遇到这个问题再往vhost.conf配置一下,phpstudy有图形化操作界面,挺方便添加的,可在其他菜单选项->站点域名管理里添加你的虚拟主机,然后保存配置重启搞定!然而有的时候依然很坑,生不生效图形化界面不能说了算,要看vhost.conf这个文件,位于Apache\conf目录下,我们打开确认下信息无误才可以。

 

方法二:

     看完了上面的东西,有没有觉得用httpd-vhosts.conf来配置特麻烦,我也这么觉得。其实有另外一种简便的方法,那就是不启用httpd-hosts.conf,直接配置vhost.conf

如图:

            

      然后再在host文件里为虚拟主机指定IP,重启apache,大功告成!

 

      写在最后:可能上面的方法你用了都无法生效,而且第一种方法我在台式机可以可是在笔记本就日了狗了,就我个人的使用经历,phpstudy后面的版本配置虚拟主机越来越蛋疼,经常出现莫名其妙的问题。所以,最好使用老版本的phpstudy,上述两种方法都能生效,如果你觉得好麻烦,有个蠢方法,大可一个项目一个phpstudy囧rz,改一改localhost指向的目录就好啦哈哈!!!啰啰嗦嗦写到最后,感谢看完这篇文章的人,由于本人水平较低,有什么疏漏之处多多指出!