花了好几天时间,终于在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
php bin/magento setup:static-content depoly
php bin/magento cache:flush
php bin/magentoindexer:reindex
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