wampserver3.0下载安装配置BUG解决和技巧掌握
的有关信息介绍如下:wampsever已经升级到3.0了,支持php7.0,我一直在用wampserver,从2.0到现在的3.0.X,因为不是很熟悉PHP,配置起来真是令人头疼。手贱升级到3.0.6之后蒙圈了,人性化配置和bug都得重新来。
这里重点解决在平常使用wamp中遇到的一些问题,比如:
1. 项目链接没有localhost前缀导致wamp的站点文件不能通过菜单的project的菜单访问;
2. wamp默认端口修改;
3. wamp默认文件根目录www更改;
4. wamp绑定域名(多站点);
5. wamp多端访问(局域网访问)等等。
接下来就开始吧!生命的愿意在于折腾,越折腾越顺手!
1.1 下载
下载地址我已经通过云盘分享了,公开的:百度云盘地址:http://pan.baidu.com/s/1hr3v7bI
下载安装是个简单活,这里就不啰嗦,不过倒是几点建议:
1.2 不要安装到C盘(系统盘)。
当然,你会说把www文件夹指定到其他盘就可以,但这不是又多了一次折腾不是吗?我们直接把wamp安装到其他盘不是更容易些!
1.3 直接装在盘符根目录即可。
文件夹层级太深,将会严重消耗你的耐心,当使用CMD.EXE 不停CD的时候你就知道为什么了。还好不是用Linux系统!
2.1 汉化
有点夸张了,其实就是菜单选择Chinese。
wamp图标——右键——language——Chinese。
2.2 项目菜单(Your Project)不见了
升级之后我就发现之前的your Project 菜单不见了,不过还在的,应该是wamp团队对菜单作了精简,被藏起来了。找回方法如下:
wamp图标——右键——wamp settings ——Project sub-menu(等待重启可见)
2.3 选择php版本
wamp3.0.6支持php7,想尝鲜的朋友可以选择php7,具体根据具体需要选择相应版本。
2.4 检测*:80 端口
wamp右键菜单——【tools】——测试80端口,出现
===== Tested by attempting to open a socket on port 80 ====Your port 80 is actually used by Server: Apache/2.4.23 (Win64) PHP/5.6.25
证明没被占用,程序可以正常运行。
遇到这个情况请先做两点:
1.确定项目放在www文件中。
2.退出wamp或者点【重新启动所有服务】重启wamp之后,从wamp菜单点击你的项目,看能否打开,如果不能,再做下面的操作。毕竟wamp一直更新到现在,这个算是小问题不可能这么久没解决。
重启还是无效的话,解决办法如下:
A. 打开www文件夹,找到index.php 并用编辑器打开。
B.下拉到445行位置,
把【$projectContents .= 'http://'.$file.$UrlPort.'/"';】改成【$projectContents .= 'http://localhost/'.$file.$UrlPort.'/"';】保存。
然后在wamp菜单点[重新启动所有服务]即可。(借用wamp团队的话来说,这一步的做法是bad idea!)
****注意****
注意:具体行数不是固定的,取决于编辑器采取的换行行为。这段代码被定义在
$projectContents 变量中,找到这个变量也就看到了,代码块注释为:
[// récupération des projets]
一般情况下,80端口是不会占用的,但总有万一。如果被占用应该怎么解决呢?一个应急方法是:关闭占用80端口的程序,还有一个万全之策:改wamp默认端口噻。下面说这两个方法:
方法一:关闭占用程序
A. 从wamp菜单【tools】——>测试80端口 这是为了看80端口被哪一个程序占用。
B. 然后关闭该程序。
一般这样就解决了,但是如果占用80端口的程序是系统程序呢?强行关闭总是不太稳妥。那么就要用另外一个方法了——更改wamp默认端口
方法二:更改wamp默认端口
A.从wamp右键菜单【tools】——use a port other than 80 。
B. 在弹出窗口输入你想要的端口点【ok】即可,wamp会自动重启服务。
为了保险起见,建议改成8000以后的。例如:8081。
**注意**
如果你之前改过,那么可能use a port other than 80那里将不是80 而是其他数值,但方法一样,点进去改好点【OK】即可。
想实现局域网访问,只需要解决两个问题:
1. Apache 允许其他IP访问。
2. 访问端(其他电脑、手机等设备)的URL重定向问题——没有重定向会跳到外网(尤其访问域名的时候,以主机IP的方式访问不会,但局限性大);
难点在URL重定向上(跳转)。为什么说难点在URL重定向呢?因为在使用手机等设备访问时会让你头疼,我们的常规做法是修改电脑的.hosts文件来达到URL重定向的,但手机不太容易做到。我们接着看吧。不清楚的可以看文末的视频。
Apache 的配置(仅2.4以上的版本)。
修改以下两个文件。
httpd.conf
httpd-vhosts.conf
找到两个文件中以下部分配置。
A. httpd.conf 文件的。
AllowOverride none
Require all denied
-----------------------------------
B. httpd-vhosts.conf 文件的。
Options +Indexes +Includes +FollowSymLinks +MultiViews
AllowOverride All
Require local
新增一行配置项:`Require all ip 192.168.1 `。
说明一下:
(打开终端(命令提示符程序——cdm.exe 快捷键:win+R) 输入命令: ipconfig 可以看到自己当前的局域网IP。)
并不是只能这样配置,确切地说是 用 `Require ip [ip]` 的配置项进行配置,允许局域网中的相应的IP地址访问本机的虚拟服务器。你可以改成指定的IP,比如:`Require ip 192.168.0.5`,或者允许多个IP以及支持IP段设置,像这样:`Require ip 192.168 `,表示允许以192.168开头的IP段访问。
结果为:
AllowOverride none
Require all denied
Require ip 192.168.0
PS: 因为局域网的IP尤其是个人(家里)的路由器一般采用动态IP(同一台机器在不同时间段内分到的IP是变动的,今天能用可能过几天IP就变了。所以留有余地——允许IP段是十分必要的。)
局域网访问需要注意的问题:
1. 常规下可以通过IP访问(没有什么问题,只要Apache设置准确,可以直接用虚拟服务器的IP访问)。对应的虚拟服务器的站点为:127.0.0.1,比如安装wamp的主机IP为:`192.168.1.3`,那么我们在浏览器输入这个IP访问到的页面只能是localhost(也就是wamp默认的站点。)路径相当于:`192.168.1.3->127.0.0.1`;
(域名访问无法直达,100%跳到外网,看下一步)。
2. 想要用域名访问,(像我的例子中的`域名`),必须对访问的主机的`.hosts`文件进行修改,添加对域名的跳转,否则将指向外网。
有点绕,我们举个例子:
主机 B 用域名 `[域名]`访问 主机A 上的wamp站点:[域名],则必须修改主机B的`.hosts`文件,将域名跳转到主机A 的ip 上,否则会指向外网。比如:192.168.1.3 [域名]
(ps:不能是127.0.0.1,必须是服务器主机的IP)
3. 手机这一类难以修改`.hosts`文件的设备怎么访问呢?
方法还是有的:
路由器自定义host通过路由器强制跳转(需要路由器的支持)`推荐`, 当然还有路由器的端口映射DMZ等方法应该也可以达到目的(这俩个功能还没测试,因为外网可以访问,担心安全问题,没有去研究)。
自定义Host的方法和在电脑系统的.hosts文件类似,把匹配的域名跳转到虚拟主机的IP即可。