1.Magento2简介
Magento2是一个开源的电子商务平台,它被广泛用于构建和管理在线商店。Magento 2 是 Magento 1 的继承者,提供了更好的性能、更简化的用户体验、增强的安全性和现代化的开发工具。Magento 平台由 PHP 编写,利用 MySQL 数据库和许多其他现代化技术(如 Elasticsearch、Redis、Varnish 等)来支持大型电商网站的构建和运行。
magento是全球最牛的开源电商系统没有之一!!!
Magento2提供了一个灵活的模块化架构,使开发人员能够轻松地自定义和扩展平台的功能。它支持多语言、多货币和多站点的设置,并提供了丰富的主题和模板选择,便于用户快速搭建自己的电子商务网站。
2.进入phpstudy官网下载安装phpstudy
我的电脑是64位,选择64位进行下载
3.下载压缩包之后,进行解压,打开phpstudy,使用LAMP环境搭建
4.开启之后在<关键管理>下载php7.3版本,以及composer1.8.5版本
5.配置环境变量:
右击我的电脑->点击属性
点击高级系统设置
点击环境变量
在系统变量中找到Path->双击
将composer以及php的路径配置进行(具体路径看自己的phpstudy安装路径)
依次点击确定退出
6.进行环境变量检验
win+R->输入cmd->回车
输入php -v以及composer --version
出现该显示内容即环境安装配置成功
7.composer进行magento2.3.5安装下载
创建一个空目录->起名为magento->进入目录中
在搜索栏输入cmd回车进入当前目录的cmd
进行下载之前,进入phpstudy的php安装目录下找到php.ini文件
使用记事本打开,这里我使用的是notpad++,开启这几个拓展
并且尝试将memory_limit的值改为-1
修改完成之后保存,回到cmd页面,因为官网的镜像资源由于网络原因总是导致无法下载,因此先切换到腾讯的镜像资源(不切阿里的镜像资源是因为切换之后,没有magento2.3.5的资源,无法下载)
切换腾讯镜像资源:
composer config -g repo.packagist composer https://mirrors.cloud.tencent.com/composer/
进行magento2.3.5的下载
composer create-project --repository-url=https://repo.magento.com/ magento/project-community-edition=2.3.5 .
下载时间还是蛮久了,时间应该跟网络跟电脑有关。
8.创建magento数据库
在等待下载的时候或者下载完成之后,可以进入phpmyadmin创建一个magento的数据库
这里我已经创建好了
9.修改Gd2.php、Validator.php文件
在通过composer下载好magento之后,我们进入到目录里面可以看到大致这样的目录结构
因为windows系统的原因,因此我们在安装的时候要修改这两个文件
magento\vendor\magento\framework\Image\Adapter\Gd2.php
修改位置大概在代码的96行
Gd2.php:
private function validateURLScheme(string $filename) : bool
{
$allowed_schemes = ['ftp', 'ftps', 'http', 'https'];
$url = parse_url($filename);
if ($url && isset($url['scheme']) && !in_array($url['scheme'], $allowed_schemes) && !file_exists($filename)) {
return false;
}
return true;
}
magento\vendor\magento\framework\View\Element\Template\File\Validator.php
修改位置大概在代码的133行
Validator.php
protected function isPathInDirectories($path, $directories)
{
if (!is_array($directories)) {
$directories = (array)$directories;
}
//$realPath = $this->fileDriver->getRealPath($path);
$realPath = str_replace('\\', '/',$this->fileDriver->getRealPath($path));
foreach ($directories as $directory) {
if (0 === strpos($realPath, $directory)) {
return true;
}
}
return false;
}
修改完成之后就进行安装magento2.3.5
10.命令行安装magento2.3.5
进入到cmd中,进行安装操作:
这条命令是magento的安装命令,其中url,管理员账号密码邮箱、数据库相关配置可以根据自己的需求进行更改
php bin/magento setup:install --base-url="http://magento" --db-host="127.0.0.1" --db-name="magento" --db-user="root" --db-password="root" --admin-firstname="Admin" --admin-lastname="User" --admin-email="admin@admin.com" --admin-user="admin" --admin-password="admin123" --language="en_US" --currency="USD" --timezone="America/New_York" --use-rewrites="1"
执行完成之后,magento会将需要的表都创建到magento数据库中,并完成安装
11.配置网站
在安装完成之后,我们就需要在phpstudy中配置对应的网站了,例如我们在安装的过程中使用的url是http://magento
将域名改为magento,并且将根目录更改为,我们magento的安装目录下的pub目录,点击确认,在创建完成之后我们需要对于网站的伪静态 .htaccess 文件进行内容添加
找到pub下的.htaccess文件,添加如下代码并保存
<IfModule mod_rewrite.c>
RewriteEngine on
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^(.*)$ index.php [L,E=PATH_INFO:$1]
RewriteCond %{HTTP:Authorization} ^(.*)
RewriteRule .* - [e=HTTP_AUTHORIZATION:%1]
</IfModule>
添加完成之后,打开cmd命令行,执行发行版命令:
php bin/magento setup:upgrade
php bin/magento setup:di:compile
php bin/magento setup:static-content:deploy -f
php bin/magento indexer:reindex
php bin/magento c:f
12.测试网站前端后端页面
完成之后就可以打开页面的url,进行网站的测试了
前端url:http://magento
后端url:http://magento/admin (具体admin的后缀要查看自己的app/etc/ 目录下的env.php文件中的frontName,可以自行修改)
输入注册时候的账号密码,就可以进入到后端管理页面了
ok,以上就是magento2.3.5版本在windows环境中使用composer下载安装的全部流程,(composer版本因为受到magento2.3.5的影响所有只能使用1.x版本的进行下载)
13.总结安装过程中所遇到的问题以及注意的点
1.magento2.3.5版本在windows上有两种下载方式:
①通过Github去下载压缩包,下载之后进入到目录中通过composer install去进行安装vendor,但是文件目录结构会有所不同。
优点:下载快
缺点:目录结构不是很完整,需要手动再去跑composer
②通过composer去直接进行下载完整包
优点:目录结构完整
缺点:下载巨慢,国内用户需要通过切换镜像源来进行下载
2.支持环境
Magento每个版本支持的环境有所不同,像magento2.3.5支持的php版本应该是7.3.x,composer只支持1.x的,composer2.x版本进行下载的时候会提示报错
3.下载的时候一定要修改php.ini的扩展配置
4.安装下载完毕之后,执行php bin/magento setup:di:compile 命令之后会出现一个页面500(Internal Server Error:服务器遇到错误,无法完成请求。)的报错,这种情况是magento2.3.5版本的一个bug,可以自己去手动删除一下 generated 目录下的 code目录与metadata,然后清理缓存,重新刷新页面就好了.
5.对于Elasticsearch的使用在2.3.5版本中实际体现不多,2.3.5版本在检索功能上主要还是通过mysql进行检索
下一篇我将进行自定义模块的创建学习 https://blog.csdn.net/weixin_43169845/article/details/142553872