MAC 安装 Magento2 community edition 详细步骤

花了好几天时间,终于在Mac OS X EI Capitan上成功安装magento2.1.1. 此处详细记录每个步骤,以备未来使用。

参考magento官方指南:(Easy) Install the Magento archive on your server




1. 确保系统满足prerequisite:

建议不要使用XAMPP(我用XAMPP无论如何PHP的intl extension都显示没有enable),就自己一步一步配置php+mysql+apache。

具体要求如下:system requirement

这一步非常非常重要,我在第一次安装的时候,偷懒没有确保prerequisite,遇到各种问题,一个接一个,不间断的。所以这一步一定要先认真仔细配置好!

以下是我遇到各种问题的截图以及解决方案。简直是血和泪的教训:


1.1 MySQL error:


1.1.1 原因:mysql版本太老:

命令行中运行mysql --version可以查看version。(此截图是进入mysql命令行工具后的截图):


1.1.2 解决方案: 安装mysql5.7:

推荐mysql官网这个链接(download mysql)下载最后一个.dmg文件,双击安装即可。


安装完成后,mysql后给一个自动生成的密码,需要修改。修改command比较简单,google就可以了。

更新完成后,mysql变成了5.7.15版本:




1.2 php extension error:



1.2.1 原因:PHP版本太老.

查看当前PHP版本,在命令行中运行 php -v:


1.2.2 解决方案:更新到PHP7.0.11:

这一步遇到了比较大的困难,具体步骤参考我另一篇博客:MAC 更新 PHP 指南 以及 PHP常用命令示例

更新完成后,PHP变成了7.0.11版本:




1.3 Admin page not found error:


1.3.1 原因

没有enable apache mod_rewrite module

1.3.2 解决方案 

具体解决步骤在本文后面部分讲解




2. 开始安装

2.1 获取初始文件

两种方式:1.下载打包好的文件 2.使用git clone magento repository

推荐使用第2种方式。因为在clone repo到本地后,可以随意选择想要安装的版本。

Magento2的github repo地址是:https://github.com/magento/magento2

在terminal中进入想要安装magento的文件夹,输入:

git clone https://github.com/magento/magento2.git

成功clone repo之后,要注意的是default branch是develop。这时需要自己选择想要安装的magento版本。例如在我clone时,develop是magento2.2.0-dev版本。但是我想要最新的稳定版本。可以查看releases: magento releases:


如上图所示,最新的release版本是Magento 2.1.1, tag是2.1.1.于是在terminal中输入:

git checkout tags/2.1.1

命令运行之后,本地的Magento就是2.1.1版本了。



2.2 修改文件夹权限

如果之前没配置好权限,在浏览器中,输入自己的localhost加上magento文件夹具体地址,会得到以下error:


需要修改文件夹权限,magento user需要对文件夹以及子文件夹和文件有read&write权限。

具体步骤参看我的另一篇博客:MAC 修改文件夹以及子文件夹和子文件权限 以及 修改文件夹owner



2.3 Lauch magento setup guide

2.3.1 Readiness Check

此时再在浏览器中输入magento的文件夹路径, setup就启动了。第一部步eadiness check, 我得到以下error:



2.3.1.1 原因

上一步设置好的权限,并没有对[your_magento_main_folder}/var/.DS_Store文件生效。

2.3.1.2 解决方案

按照上一步的方法,单独修改.DS_Store文件的权限。

2.3.1.3 验证成功

权限问题解决后,第一步readiness check成功:




2.3.2 Add a Database

输入数据库信息后,得到以下error:


2.3.2.1 原因

还没创建magento211数据库

2.3.2.2 解决方案

登录mysql创建magento211数据库。进入mysql command line后,输入:

create database magento211




2.3.3 其他步骤

接下来的步骤,都没出什么问题,就截图记录一下:








3.安装成功,开始使用

就在我以为终于安装成功,可以松口气,开心地点击了上图的“Lauch Magento Admin”按钮后。。。


3.1 Admin page not found error


3.1.1 原因

apache需要enable rewrite module

3.1.2 解决方案

  • 打开/etc/apache2/httpd.conf 文件。
  • 确保以下行没有被注释掉:LoadModule rewrite_module libexec/apache2/mod_rewrite.so
  • 确保在<Directory "[your server root directory]"></DIrectory>里面, AllowOverride All


3.2 页面没有style和图片


3.2.1 原因
没有deploy static content
3.2.2 解决方案
warning: bin/magento命令会修改文件夹权限。所以在每次运行完命令后,进入下一步可能会报错。遇到permission error,只需要把文件夹权限设置回read&write就可以了。
打开terminal,输入:
php bin/magento setup:static-content depoly




3.2.3 验证解决成功
刷新页面,style和图片就应该都有了:


如果还是没有static content,可以尝试在terminal中运行以下两行命令:

php bin/magento cache:flush
php bin/magentoindexer:reindex







4 小提示
4.1 develop环境下,开启exception printing
以方便查看error信息。推荐按照这篇博文配置:Magento exception printing is disabled by default for security reasons – How to fix?

4.2 Disable Xdebug
4.2.1 遇到问题:Allowed memory size exhausted error

我是先安装了没有sample data的magento。然后再根据官方指南Install sample data by cloning repositories 安装sample data。

安装成功后,需要compile代码。于是我在terminal中输入以下命令行:

bin/magento setup:di:compile

然后出现PHP Fatal error: Allowed memory size exhausted:


4.2.2 原因

enable xdebug会消耗更多的memory

4.2.3 解决方案

disable xdebug。 参考我的另一篇博文:MAC PHP7 如何disable xdebug 


本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/570485.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

22_IO_第22天(File、递归)_讲义

今日内容介绍 1、File 2、递归 xmind&#xff1a;下载地址&#xff1a; 链接&#xff1a;https://pan.baidu.com/s/1Eaj9yP5i0x4PiJsZA4StQg 密码&#xff1a;845a 01IO技术概述 * A:IO技术概述* a: Output* 把内存中的数据存储到持久化设备上这个动作称为输出&#xff08;写&a…

MAC PHP7 如何disable xdebug

1. 查看xdebug当前状态是否是enable 打开terminal&#xff0c;输入&#xff1a; php -m | grep xdebugterminal返回xdebug&#xff0c;说明现在xdebug是enable状态。 2.找到php配置文件夹 在terminal中输入&#xff1a; which php 进入php.d文件夹&#xff0c;可以看到exten…

物联网初步之电阻性电路分析 第三部分 电路分析方法和电路原理

目录 电阻性电路分析第三章 电路分析方法3-1 支路电流法3-2 网孔电流法3-3 节点电位法3-4本章总结第四章 电路定理4-1 叠加定理戴维南定理和诺顿定理电阻性电路分析 声明&#xff1a;本学习笔记中的部分图片来自于王丽华老师的PPT&#xff0c;感想王老师~~ 第三章 电路分析方法…

将页面数据转json存入数据库

SSMlayui前台页面将数据转json存入数据库 最近做了一个添加的功能&#xff0c;页面中的字段并不是和数据库变字段一 一对应的&#xff0c;页面中好几个字段的值要把它们转为json&#xff0c;然后存入数据库表中的一个字段。 1&#xff0c;首先是添加了一个实体类来放这些数据…

简述openstack

大家好&#xff0c;我顾某人又回来了&#xff0c;开学第一更。。。。以下内容均为个人理解和整理&#xff0c;有不对的地方还望dalao指正。。。。。 本文所用图片均已标明来源。 openstack是什么&#xff1f; OpenStack是一个开源的云计算管理平台项目&#xff0c;由几个主要的…

vue+layui获取CheckBox的值

vuelayui获取CheckBox的值 定义一样的name和v-filter 然后对其进行监听。

rocket-console控制台安装

1.下载 github地址&#xff1a;https://github.com/apache/rocketmq-externals 2.选择稳定版本&#xff1a; 3.下载到本地&#xff1a; 环境需求 maven jdk git clone https://github.com/apache/rocketmq-externals.git 4.修改配置&#xff1a; find -name application…

只允许对最后一条记录进行修改

今天做了个小功能想和大家分享一下在我任务描述里有个这样的描述&#xff1a;只能对最后一条记录进行修改。我刚开始我这样想的&#xff0c;每条记录前面都有给他一个radio&#xff0c;然后对你选择的数据去判断他是不是最后添加的那一条&#xff0c;后台发现这样有点难度&…

ERROR 1819 (HY000): Your password does not satisfy the current policy requirements

为了加强安全性&#xff0c;MySQL5.7为root用户随机生成了一个密码&#xff0c;在error log中&#xff0c;关于error log的位置&#xff0c;如果安装的是RPM包&#xff0c;则默认是/var/log/mysqld.log。 一般可通过log_error设置 mysql> select log_error; ---------------…

vue复选框CheckBox清空选中的值

最近遇到了这样的一个问题&#xff0c;做了一个添加功能&#xff0c;发现添加了一次记录以后&#xff0c;添加第二次的时候&#xff0c;页面上复选框有我上次选中的值&#xff0c;后来试了很多方法&#xff0c;只有下面这个方法解决了这个问题。上面标出来的是对普通的input进行…

添加时,时间格式明明和数据库格式一样,却一直在报错,存不进去

数据库用的date&#xff0c;然后我前台也用的date格式&#xff0c;却存不进去&#xff0c;我还以为是缓存问题&#xff0c;然后一直在清缓存&#xff0c;结果没啥用&#xff0c; 后来在实体类加了DateTimeFormat这个注解&#xff0c;成功解决。

freemarker页面读取时间date类型报错

以前写过一篇添加时间添加失败的问题&#xff0c;现在我又发现了另外一个问题 刚开始我是这样放进页面&#xff0c;然后就报错&#xff0c;说freemarker的类型错误。我就去控制器打印输出这个时间&#xff0c;发现是有值得&#xff0c;但不是yyyy-mm-dd格式的&#xff0c;我数…

关于idea的git账号与电脑的git账号不一致的问题。已解决!

最近发现了一个问题&#xff0c;我进公司&#xff0c;公司给我发的电脑是别的同事用过的&#xff0c;然后上面呢保留了他的git账号&#xff0c;我要继续用这台电脑开发&#xff0c;用他的账号肯定是不行的&#xff0c;然后我就上网搜教程&#xff0c;搜到的教程全部都是让我删除…

codeforces CF986C AND Graph 建圖 dfs

$ \rightarrow $ 戳我進CF原題 C. AND Graphtime limit per test: 4 secondsmemory limit per test: 256 megabytesinput: standard inputoutput: standard outputYou are given a set of size $ m $ with integer elements between $ 0 $ and $ 2^n-1 $ inclusive. Lets build…

HackRF 无线门铃信号录制与重放

本文内容、开发板及配件仅限用于学校或科研院所开展科研实验! 淘宝店铺名称&#xff1a;开源SDR实验室 HackRF链接&#xff1a;https://item.taobao.com/item.htm?spma1z10.1-c.w4004-13257850194.8.69503d888aIzVL&id526187854860 无线门铃链接&#xff1a;https://item.…

springboot项目和云服务器,以及域名的申请和使用(后续持续更新)

来记录一下做一个springboot项目以及上传至云服务器上过程新建并发布项目注册域名&#xff1a;域名备案发现的问题&#xff1a;在阿里云上面搞了一台个人服务器&#xff0c;当时是双十一打折买的&#xff0c;229好像。有了服务器当然要干点什么&#xff0c;于是做了个springboo…

抢火车票软件的教程

抢火车票软件的教程 1. 先去GitHub上下载源文件testerSunshine。 2. 下载并安装python3.7.4。&#xff08;安装完成在cmd中输入 Python -V,如果出现是的是Python3.7.4&#xff0c;就说明安装成功&#xff09; 3. 控制cmd进入下载的源码的文件夹下&#xff0c;输入 pip3 instal…

使用大麦网抢票工具的一些心得体会

源码上传已到百度网盘了 详情参考的是大麦抢票工具GitHub 【 重要&#xff0c;用前必看&#xff01;&#xff01;&#xff01;】 浏览器准备步骤&#xff08;根据自己浏览器的版本来下载对应的driver驱动&#xff09; &#xff08;这个准备工作一定要做&#xff09; 我来解…

[中山市选]杀人游戏 (Tarjan缩点)

题目链接 Solution 可以考虑到如果知道环内一点的身份,如果凶手在其中就查出来了,同时不会有危险. 那么对警察造成威胁的就是那些身份不明且不能从其他点转移过来的点. 那么大部答案就是缩完点之后入度为 \(0\) 的联通块数量. 但是,会有特殊情况: 如图,我们就只要查 \(2\) 或者…

数据库为date型,而前端要显示String型,问题解决

关于数据库字段类型与前端显示类型不符问题解决&#xff1a;最近遇到这样的一个问题&#xff0c;有一个字段在数据库是date型的&#xff0c;但是产品需求我们在前端这样显示&#xff0c;如下图&#xff1b; 先把时间显示出来&#xff0c;最后一行显示上面所有记录的汇总。 而这…