Wampserver 本地搭建 Magento 2

Wampserver 简介

Wampserver 是 window 下的 apache、 php 和 mysql 的集成包。他可以帮助你快速搭建PHP环境。对于初学者来说,非常适合。不过要进入生产环境,这样的集成包有一些奇怪的问题,还是用标准的配置方法更好。对于 Magento 2 来说,官方的系统要求是 Linux,所以强烈建议深入学习和生产环境时使用Linux 环境进行服务器配置。可以参考本站的另一篇文章 阿里云 ECS 安装 Magento 2 (原创)

准备需要的软件

  1. Wampserver
    Wampserver 可以去该网站下载,官方发布,可以获得最新版,缺点就是下载速度慢地很。
    可以去我的百度云下载:http://pan.baidu.com/s/1skJVqiD
  2. Magento 安装包
    这个官方给出了三种:

该教程准备的Wampserver 是 wampserver3.0.4_x64_apache2.4.18_mysql5.7.11_php5.6.19-7.0.4.exe ,我是64位的系统,云盘里放的也是这个版本,还放了一个32位的。

Magento 是 Magento-CE-2.1.0_sample_data-2016-06-23-02-32-34.zip ,这个是Magento 2.1 版本带演示数据的。(云盘里有2.1版本带演示数据和不带演示数据的)

安装 Wampserver

这个很简单啦,下一步下一步就行。
安装好后启动它。

配置 Wampserver 虚拟目录

我们的开发环境要能够放多个网站,当然用子目录也是可以的,子目录就是比如http://127.0.0.1/a 放一个站,http://127.0.0.1/b 又放一个站。不过这样很容易混乱,所以我们来配置一下虚拟目录。

配置虚拟目录

我的在wamp 安装在D:\wamp64 目录下。
打开D:\wamp64\bin\apache\apache2.4.17\conf\extra\httpd-vhosts.conf 我们可以看到如下内容:

#
# Virtual Hosts
#

<VirtualHost *:80>
    ServerName localhost
    DocumentRoot d:/wamp64/www
    <Directory  "d:/wamp64/www/">
        Options +Indexes +FollowSymLinks +MultiViews
        AllowOverride All
        Require local
    </Directory>
</VirtualHost>

我将他改为

#
# Virtual Hosts
#

<VirtualHost *:80>
    ServerName localhost
    DocumentRoot e:/www/hellomagento2
    <Directory  "e:/www/hellomagento2">
        Options +Indexes +FollowSymLinks +MultiViews
        AllowOverride All
        Require local
    </Directory>
</VirtualHost>

<VirtualHost *:81>
    ServerName localhost
    DocumentRoot e:/www/wp
    <Directory  "e:/www/wp">
        Options +Indexes +FollowSymLinks +MultiViews
        AllowOverride All
        Require local
    </Directory>
</VirtualHost>

然后修改D:\wamp64\bin\apache\apache2.4.17\conf\httpd.conf找到这一段

Listen 0.0.0.0:80
Listen [::0]:80

在后面添加监听81端口

Listen 0.0.0.0:80
Listen [::0]:80
Listen 0.0.0.0:81
Listen [::0]:81

这时候我们在任务栏里找到 wamp 的图标,单击一下,点击Restart All services 等到 wamp 由再次变成绿色以后,在浏览器输入127.0.0.1就会访问e:/www/hellomagento2下的网站,而如果输入127.0.0.1:81则会访问e:/www/wp
上面两个127.0.0.1都可以用localhost替代。我们来看下为什么可以用localhost替代。
以管理员身份打开记事本,在记事本中打开C:\Windows\System32\drivers\etc\hosts,我们可以看到这样的记录127.0.0.1 localhost
hosts 是一个记录主机名和ip地址映射的文件,相当于本地的 DNS,当我在浏览器中输入某个域名的时候,本机会先查看 hosts 中是否有记录,如果有直接转到该 ip,不需要再访问DNS服务器了。所以我们现在给他加一条127.0.0.1 thankit.cn 加完后我们在浏览器中输入thankit.cn照样可以访问e:/www/hellomagento2下的网站了对吧。

上面我们给不同的端口分配了不同的虚拟目录,现在我要同一个端口也可以有不同的网站呢?
我们已经给hosts 增加了一条记录,让thankit.cn也可以访问到127.0.0.1了,现在我要让thankit.cn对应e:/www/thankit应该怎么做呢?
打开D:\wamp64\bin\apache\apache2.4.17\conf\extra\httpd-vhosts.conf 在上面的基础上添加如下内容:

<VirtualHost *:80>
    ServerName thankit.cn
    DocumentRoot e:/www/thankit
    <Directory  "e:/www/thankit">
        Options +Indexes +FollowSymLinks +MultiViews
        AllowOverride All
        Require local
    </Directory>
</VirtualHost>

注意 ServerName 现在是 thankit.cn让 wamp Restart All services,之后浏览器中输入thankit.cn是不是可以访问到e:/www/thankit

根据你的需求配置好自己的虚拟目录吧。

安装 Magento 2.1

我们用localhost 对应的e:/www/hellomagento2来安装 Magento 2。
先将2.1的zip 解压后放到e:/www/hellomagento2下。
我们来创建一个数据库。在任务栏找到 wamp ,单击出现的面板中再点击 phpMyAdmin,默认用户名为root,密码为空。登录后创建一个数据库hellomagento2。
在浏览器中打开localhost这时候就是 Magento 安装界面了。第一步的检测,PHP Settings Check 发生错误。

上面说让我们打开php.ini 修改 always_populate_raw_post_data 为 -1

wampserver 是有两个 php.ini 的,我的在wamp 安装在D:\wamp64 目录下,以我的安装目录为例,php 下的D:\wamp64\bin\php\php5.6.19\php.ini是cli 命令行使用时的配置文件,而apache 下的D:\wamp64\bin\apache\apache2.4.18\bin\php.ini是web 访问时的配置文件。此处先注意一下,以后会需要改命令行下的 php.ini,现在不需要

现在我们改D:\wamp64\bin\apache\apache2.4.18\bin\php.ini,找到always_populate_raw_post_data 发现他是;always_populate_raw_post_data = -1,去掉前面的分号保存,wamp Restart All services,回到浏览器 Magento 安装页面,重新检测一下(Try again),这次没有错误啦。
下一步,填入数据库名称hellomagento2再下一步,下面很简单,根据提示下一步下一步就安装成功啦。

简单调优

我们可以通过增加 PHP 的 memory_limit 来让 Magento 跑快一点。
官方推荐的memory_limit 是这样的:

  • Compiling code, 768M
  • Deploying static asses, 768M
  • Installing and updating Magento components from Magento Marketplace, 1G
  • Testing, 2G
    所以我们起码给个 768M 吧,这次我们修改 D:\wamp64\bin\apache\apache2.4.18\bin\php.iniD:\wamp64\bin\php\php5.6.19\php.ini,找到 memory_limit,发现默认才给了128M,速度当然慢了。强烈建议你两个都修改,因为 Magento 是要用命令行的,而博主就遇到过一直报内存不够的错误,当时我还不知道 Wamp 是有两个 php.ini 的…
    记得改完Restart All services

相关文章列表

局域网访问本地 Magento
php 不是内部或外部命令,也不是可运行的程序或批处理文件

发表评论

电子邮件地址不会被公开。 必填项已用*标注