【翻译】使用composer 安装Magento 2.3.x

官方原文链接

RoadMap

We use Composer to manage Magento components and their dependencies. Using Composer to get the Magento software metapackage provides the following advantages:

我们使用Composer来管理Magento组件及其依赖项。使用Composer获得Magento软件metapackage有以下优势:

  • Reuse third-party libraries without bundling them with source code
  • Reduce extension conflicts and compatibility issues by using a component-based architecture with robust dependency management
  • Adhere to PHP-Framework Interoperability Group (FIG) standards
  • Repackage Magento Open Source with other components
  • Use the Magento software in a production environment

– 重用第三方库,而不用将它们与源代码绑定
-通过使用基于组件的体系结构和健壮的依赖关系管理,减少扩展冲突和兼容性问题
-遵守PHP框架互操作性组(FIG)标准
-可以用其他组件重新打包Magento开源代码
-在生产环境中使用Magento软件

You must create a Composer project from our metapackage if you want to use the Magento Web Setup Wizard to upgrade the Magento software and third-party extensions.

如果您想使用Magento Web安装向导升级Magento软件和第三方扩展,则必须从我们的集合包中创建Composer项目。 (这也是我首先翻译这个文章的意图,因为手动向导安装无法在网页前端升级操作,官方有讲)

Prerequisites

Before you continue, you must do the following:

先决条件
在你继续之前,你必须做以下事情:
-设置一个满足系统需求的服务器(2G以上内存,apache 2.2 or 2.4,
MySQL 5.6, 5.7 /MariaDB 10.0, 10.1, 10.2,PHP 7.1.3+/ 7.2.x 及扩展/OPcache/PHP配置设置 ,SSL 1.1以上/不支持自签名,系统依赖,MAT/SMTP 邮箱服务,Redis3.2/Varnish 4.x 5.2/ Elasticsearch 5.2.x 2.x/ RabbitMQ 3.7.x )
-创建Magento文件系统所有者(详细)
-安装Composer
-获取Magento代码存储库的身份验证密钥 (详细

Get the metapackage

To get the Magento metapackage:

  1. Log in to your Magento server as, or switch to, the Magento file system owner.
  2. Change to the web server docroot directory or a directory that you have configured as a virtual host docroot.
  3. Create a new Composer project using the Magento Open Source or Magento Commerce metapackage.

获取安装包

-以Magento文件系统所有者(详细)的身份登录Magento服务器,或切换到该服务器。
-更改到web服务器docroot目录或已配置为虚拟主机docroot的目录。
-使用Magento开源或Magento 商业版的 metapackage 创建一个新的Composer项目。

开源版

composer create-project --repository=https://repo.magento.com/ magento/project-community-edition <install-directory-name>

商业版

composer create-project --repository=https://repo.magento.com/ magento/project-enterprise-edition <install-directory-name>

When prompted, enter your Magento authentication keys. Your public key is your username; your private key is your password.

If you encounter errors, such as Could not find package... or ...no matching package found, make sure there are no typos in your command. If you still encounter errors, you may not be authorized to download Magento Commerce. Contact Magento support for help.

See troubleshooting for help with more errors.

当提示时,输入Magento身份验证密钥。你的公钥是你的用户名;您的私钥是您的密码。
如果遇到错误,比如找不到包…还是……没有找到匹配的包,请确保您的命令中没有输入错误。如果您仍然遇到错误,您可能没有授权下载Magento Commerce。联系Magento寻求帮助。
有关更多错误,请参见疑难解答。

Set file permissions设置文件权限

You must set read-write permissions for the web server group before you install the Magento software. This is necessary so that the Setup Wizard and command line can write files to the Magento file system.

在安装Magento软件之前,必须为web服务器组设置读写权限。这是必要的,以便安装向导和命令行可以将文件写入Magento文件系统。

cd /var/www/html/<magento install directory>
find var generated vendor pub/static pub/media app/etc -type f -exec chmod g+w {} +
find var generated vendor pub/static pub/media app/etc -type d -exec chmod g+ws {} +
chown -R :www-data . # Ubuntu
chmod u+x bin/magento

安装magento 一种是命令行一种是页面安装向导

(已经到这一步了,别折腾自己了,选择页面向导安装吧)

http://<Magento-host-or-IP>/<path-to-magento-root>/setup
For example: http://localhost/magento2ee/setup

命令行方式

This example assumes that the Magento install directory is named magento2ee, the db-host is on the same machine (localhost), and that the db-namedb-user, and db-password are all magento:

假设文件夹名为 magento2ee ,数据库在同一台服务器,数据库链接参数如上。

bin/magento setup:install \
--base-url=http://localhost/magento2ee \
--db-host=localhost \
--db-name=magento \
--db-user=magento \
--db-password=magento \
--backend-frontname=admin \
--admin-firstname=admin \
--admin-lastname=admin \
[email protected] \
--admin-user=admin \
--admin-password=admin123 \
--language=en_US \
--currency=USD \
--timezone=America/Chicago \
--use-rewrites=1

命令行更多官方细节

iPhone bluetooth APN window10 show INVALID_MDL_RANGE blue screen -手机蓝牙分享网络蓝屏

首先先说下,如果你电脑没有360管家,可能不适用

First of all, If you not use ‘ 360 security managemnt soft(Qihoo)’,maybe can not help you.Please check your firewell settings.

我(dell inspiron 15-3568)(win10 ver1809)试过2块网卡 普通的AC3165 和AC9260 都是自带蓝牙,然后更新最新驱动(360驱动大师和驱动精灵),然后我的iPhone 6s Plus 还是连上蓝牙个人局域网后,大概30秒左右的时间就会蓝屏,错误代码INVALID_MDL_RANGE

搜索引擎发现很少人遇到这个问题,本文只是记录下,后面遇到问题了,再更新吧

下一步,我测试安卓手机会不会正常(测试机型-小米4 lte 一样不行)

然后问下微信dell客服(dell 客服首先收给了官方的驱动,也是不行;后面恢复了BIOS也不行;看了dmp文件说是360的问题,卸载360中)

OK。搞定了,卸载了360,使用默认驱动,没问题了,现在更新就是基于蓝牙APN。当然也可能其他安全软件的拦截。

学到一个单词 Tethering 意思为网络共享

网上遇到问题的网友(没有给出解决问题办法):

1.微软社区,中文

微软论坛,英文

2.戴尔论坛,dell xps机型,英文

3.联想社区,英文

Disallowed file type. magento upload error

后台上传图片遇到这个错误。

如果确保文件类型没错的话,正常的解决办法是 增加后台对于图片
Maximum width  的设置:

System > Configuration > Catalog > Product Image

一般设置到1200~1500px左右,或者按照你实际的来。

参考链接

此外还有一些文章提到CSRF问题,和magento 漏洞有关,希望可以帮到你

中文版

Magento PATCH_SUPEE-11085 get Fatal error: Can’t use method return value in write context in /app/code/core/Mage/Authorizenet/Model/Directpost.php on line 391

Note:这篇文章的解决对象是PHP 5.5 以下版本的magento 报错,如果不是PHP 5.5以下版本,可能帮不到你。我使用的是1.9版本的Magento

PATCH_SUPEE-11085 主要是Magento 应对Authrize 变更key的加密类型,Pacth在SSH很好打。但是在后台创建订单时会像文章标体那样报错。

主要问题点是 PHP 5.5以下版本empty() 函数不能检查变量。

所以把line 391代码修改来适配

$response_data = $response->getData('x_SHA2_Hash'); //rewrite for PHP 5.5 lower BY Burt
  $hashConfigKey = !empty($response_data) ? 'signature_key' : 'trans_md5';

主要参考资料

stock flow

Magento Guide Authorize key