标签 magento 下的文章

magento1.x 无法导出商品的部分属性,如价格

现象:通过magento 1.x 自带的导出商品数据功能,再在迁移后的站点里导入,商品丢失价格等部分属性。如果直接通过mysqldump导出及mysql导入整个magento站点数据表,则站点后台无法列出显示商品,“商品管理”为零。

尝试:在phpmyadmin中看到,通过mysql导入数据库内容后的部分数据表,如 catalog_product_entity_int 无数据。尝试通过phpmyadmin导入该表时,提示错误 #1062 - Duplicate entry '204-102-0' for key 'UNQ_CATALOG_PRODUCT_ENTITY_INT_ENTITY_ID_ATTRIBUTE_ID_STORE_ID' 。很可能是因为原数据库的部分数据表有错误,无法成功导出完整的数据。

参考:https://community.magento.com/t5/Magento-2-x-Technical-Issues/How-to-add-new-products-through-magento-database/m-p/447973/highlight/true

wordpess 移到 magento1.x 的子目录

需求:如果想将wordpress站点的目录移到magento1.x的子目录,通过magento的URL来访问,应该怎么做呢?

尝试:需要修改相应的静态化规则。如nginx的,可参考这个:https://docs.ukfast.co.uk/ecommercestacks/magento/magento1/wpinsubdir.html

location ~ ^/wp/ {
        index index.php index.html index.htm;
        try_files $uri $uri/ @wphandler;
        expires 30d;

        location ~* \.(ico|jpg|jpeg|png|gif|svg|js|css|swf|eot|ttf|otf|woff|woff2)$ {
                add_header Cache-Control "public";
                add_header X-Frame-Options "SAMEORIGIN";
                expires +1y;
                try_files $uri $uri/ /get.php?$args;
        }

        location ~* /(wp-admin/|wp-login\.php) {
                  try_files $uri $uri/ @wphandler;
                  index index.html index.htm index.php;
                  fastcgi_pass replacemebackend;

                  add_header Cache-Control "no-store";
                  fastcgi_buffers 1024 4k;
                  #fastcgi_param HTTPS $my_https; # Uncomment the below for SSL offloading
                  #fastcgi_param SERVER_PORT $my_port; # Uncomment the below for SSL offloading
                  fastcgi_read_timeout 600s;
                  fastcgi_connect_timeout 600s;
                  fastcgi_index index.php;
                  fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
                  include fastcgi_params;
        }

        location ~* \.php$ {
                try_files $uri $uri/ =404;
                fastcgi_pass replacemebackend;
               #fastcgi_param HTTPS $my_https; # Uncomment the below for SSL offloading
               #fastcgi_param SERVER_PORT $my_port; # Uncomment the below for SSL offloading
                include fastcgi_params;
                fastcgi_index index.php;
                fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
                include fastcgi_params;
        }
  }

  location @wphandler {
        rewrite / /wp/index.php;
  }

magento 1.x - 使用gmail作为外部SMTP发信 - 允许安全性较低的应用访问帐号

现象:在magento 1.9里安装Magento-SMTP-Pro-Email-Extension扩展后,无法使用gmail账号发出邮件。用命令测试连接smtp服务器,提示用户名或密码不可接受。535-5.7.8 Username and Password not accepted. Learn more at https://support.google.com/mail/?p=BadCredentials b4sm2793148pga.69 - gsmtp

尝试:登录到gmail账户,设置允许安全性较低的应用访问帐号。之后再次测试,就可以了。

参考:

magento1.x - 发邮件扩展 - 替换flash上传图片

问题:阿里云的主机产品,默认禁止通过主机连接外网TCP 25端口,magento 1.9.2 无法发出邮件。
尝试:magento1.x 安装 aschroder 写的 Magento-SMTP-Pro-Email-Extension 扩展后,用第三方SMTP发邮件。

问题:magento 1.9.2 管理后台,无法上传产品图片。
尝试:因为 magento 1.x 版本的程序默认使用老掉牙的Flash功能来上传图片,但现在主流浏览器已经默认禁止Flash运行了,所以需要安装 No-Flash-Image-Uploader 扩展来替换Flash上传的功能。

参考:

centos7 安装 magento 2.4

  1. 安装环境

    1. rpm -ivh https://dl.fedoraproject.org/pub/epel/epel-release-latest-7.noarch.rpm # 安装epel源
    2. rpm -ivh http://rpms.remirepo.net/enterprise/remi-release-7.rpm # 安装remi的php74源
    3. yum install php74-php-bcmath php74-php-ctype php74-php-curl php74-php-dom php74-php-gd php74-php-hash php74-php-iconv php74-php-intl php74-php-mbstring php74-php-openssl php74-php-pdo_mysql php74-php-simplexml php74-php-soap php74-php-xsl php74-php-zip php74-php-sockets php74-php-fpm php74-php # 安装php74及相关模块
    4. yum install httpd mod_ssl # 安装apache
    5. rpm -ivh https://dev.mysql.com/get/mysql57-community-release-el7-11.noarch.rpm # 安装mysql57源
    6. yum install mysql-community-server # 安装mysql57
    7. systemctl start mysqld # 启动mysql
    8. systemctl enable mysqld # 令mysql随机启动
    9. grep 'temporary password' /var/log/mysqld.log # 查看mysql安装后临时密码
    10. mysql -uroot -p # 连接到mysql控制台
    11. 在mysql控制台,更改root用户密码。创建新mysql用户、数据库,分配好权限,最后导入演示的数据库文件

      create database mage;
      create user 'mage'@'localhost' identified by 'userpasswd';
      grant all privileges on mage.* to 'mage'@'localhost' with grant option;
      use mage;
      source rubix.sql;
    12. 将完整的网站文件解压后放到/home/apache/web
    13. ln -s /opt/remi/php74/root/bin/php /usr/local/bin/php # 创建php的执行软链接
    14. systemctl enable php74-php-fpm # 令php-fpm随机启动
    15. systemctl start php74-php-fpm # 启动php-fpm
    16. mkdir /etc/httpd/ssl # 创建目录ssl,且将域名证书文件放在这里
    17. vi /etc/httpd/conf.d/my.conf # 创建新站点配置文件内容

       DocumentRoot "/home/apache/web"
       ServerName www.anqun.org
       ServerAlias anqun.org
      
       <Directory /home/apache/web>
          AllowOverride all
           Require all granted
       </Directory>
      </VirtualHost>
      
      <VirtualHost *:443>
       ServerName www.anqun.org
       ServerAlias anqun.org
       DocumentRoot "/home/apache/web"
      
       ErrorLog /home/apache/log/error.log
      
       SSLEngine on
       SSLCertificateFile /etc/httpd/ssl/web.cer
       SSLCertificateKeyFile /etc/httpd/ssl/web.key
      
       <Directory /home/apache/web>
          AllowOverride all
           Require all granted
       </Directory>
      </VirtualHost>
      
    18. systemctl start httpd # 启动apache
    19. systemctl enable httpd # 令apache随机启动
    20. chown apache:apache -R /home/apache/web # 更改站点文件目前权限为apache所有
    21. yum -y install java-1.8.0-openjdk # 安装openjdk
    22. wget https://artifacts.elastic.co/downloads/elasticsearch/elasticsearch-7.11.2-x86_64.rpm # 下载elasticserch 安装包。如果国内下载很慢,请尝试用香港机下载
    23. rpm --install elasticsearch-7.11.2-x86_64.rpm # 安装 elasticserch
    24. systemctl enable elasticsearch.service # 令elasticsearch随机启动
    25. systemctl start elasticsearch.service # 启动elasticsearch
    26. vi /etc/passwd # 更改apache用户的默认目录和shell,让它可以执行magento的维护命令
  2. 安装magento

    1. su apache # 从root切换到apache用户
    2. cd /home/apache/web # 切换到程序目录
    3. vi app/etc/env.php # 更改配置文件里的数据库连接信息
    4. 更改magento网址

      php bin/magento setup:store-config:set --base-url="http://www.anqun.org/"
      php bin/magento setup:store-config:set --base-url-secure="https://www.anqun.org/"
    5. 修改php.ini配置文件中的memory_limit值,如将默认的128M,修改为1280M,预防php执行内存超限
    6. 执行以下命令来更新站点

      php bin/magento indexer:reindex
      php bin/magento setup:upgrade
      php bin/magento setup:static-content:deploy -f
      php bin/magento cache:flush
    7. 在浏览器里访问站点管理后台,http://www.anqun.org/admin

参考: