跳转到主要内容
首页

用户帐户菜单

  • 登录

主导航

  • 首页
  • 小公司运营
  • 网站建设
  • 创业杂谈
  • 兼职赚钱
  • 小微企业信息化
  • 手册教程
    • 《大伟哥的Drupal 8建站指南》
    • 《通过JohnChow.Com在网上赚钱》
  • 关于

面包屑

  • 首页
  • PHP7.2下升级Magento 1.9.4.0出错的解决方法

PHP7.2下升级Magento 1.9.4.0出错的解决方法

By 大伟哥 | 2019-03-15,周五, 16:54

服务器的PHP版本从5.5.9升级到7.2以后,大伟哥又花了两天时间把公司的Magento网站从1.9.2.4升级到了1.9.4.0,这是目前Magento 1.x的最新版本。升级过程总是出现错误,来来回回折腾了两三次,饶了很多弯路,好在最后终于完成了。

失败的首次升级尝试

一开始大伟哥是把新下载的Magento文件解压缩之后放在一个干净的目录里,然后把原网站里的配置文件(/app/etc/local.xml)、产品图片库(/media/catalog)、自己定制的主题模版(/app/design/frontend/)、还有另外安装的第三方模块(/app/code/local;/app/code/community)等文件/目录复制到新的网站目录对应的位置,因为这样可以得到一个没有旧版文件比较干净的新版本。

但是Magento的系统相对很复杂,要安装一个功能插件或者主题模版,需要分别添加在很多不同的目录下面。时间久了,就忘了当时的修改记录了。这样在升级的时候,个别的文件可能没有复制齐全,有些依赖到的文件就缺失了。

大伟哥采用这种方式升级以后,网站前后台能够打开,产品展示也正常,因此一度以为升级成功了。但是仔细检查的时候,发现后台有个别的页面无法正常显示,最明显的两个地方,一是客户的信息管理界面能列出客户清单,但是详细的客户信息页面展示不对;另外一个是订单列表能显示,但是订单详情不能显示。因些这次升级其实是失败了。

查看系统日志,没有找到很明显的报错信息,尝试了很多有可能的原因,包括在命令行下运行升级脚本,都没有解决这个问题。大伟哥都有了反正直接升级不成功,干脆把公司的网站数据直接升级到Magento 2.x或者迁移到Drupal Commerce上面去的想法了。不过不管是升级到Magento 2.x还是迁移到Drupal,都是麻烦的事,要花费大量的时间成本在这上面。

还是再尝试一下再说。

第二次升级遇到的问题和解决方法

这次大伟哥采用的方法是直接把新版本的Magento文件解压缩到原来的网站目录,用新版的文件覆盖老版本的文件。做完必要的操作以后,网站的前后台显示的都是空白页面,比第一次都不如!

不过这次的Apache日志给了很清晰的线索,就是在指定的位置找不到mcryptcompat/mcrypt.php这个文件。

[Fri Mar 15 11:50:55.505403 2019] [proxy_fcgi:error] [pid 1902:tid 140270477702912] 
[client 54.36.148.126:37904] AH01071: Got error 'PHP message: PHP Warning:  
include_once(mcryptcompat/mcrypt.php): failed to open stream: No such file or directory 
in /var/www/html/magento/app/Mage.php on line 57\n
PHP message: PHP Warning:  include_once(): Failed opening 'mcryptcompat/mcrypt.php' 
for inclusion (include_path='/var/www/html/magento/app/code/local:/var/www/html/
magento/app/code/community:/var/www/html/magento/app/code/core:/var/www/html/
magento/lib:.:/usr/share/php') in /var/www/html/magento/app/Mage.php on line 57\n'

因为PHP7.2版本已经废弃了mcrypt这个模块,所以Magento官方提供了一个替代的功能。只是很奇怪,这个文件不知道为什么没有放在/app/code/core里面,而是放在了lib文件夹里面。这样的话,解决方法就很简单了,复制mcryptcompat/mcrypt.php到/app/code/local/目录或者/app/code/core/目录下就可以了。

再次刷新完成后前后台就能正常打开了,之前发现的问题也都消失了,到目前为止大伟哥还没发现新的异常问题,应该算是升级成功了吧。

Magento升级总结

1. 升级前一定要做好备份,数据库和文件系统都要做好备份以防万一。

2.多看系统日志。日志报错往往能给我们很多解决问题的方向。

3.吐槽:Magento真的让人又爱又恨。它功能的强大和灵活性毫无疑问是电商系统的翘楚,但是它的复杂和难以驾驭也真让人崩溃。

网站建设
  • 添加新评论
  • 468 阅读
Magento

评论

涂红伟

6 years 2 months 之前

永久连接

Magento大神

  • 回复

精选网赚

6 years 1 month 之前

永久连接

向你请教一个在wordpress放广告的方法

  • 回复

大伟哥

6 years 1 month 之前

永久连接

精选网赚 回复 向你请教一个在wordpress放广告的方法

分类页面出现广告,应该是在分类页面的模板里插入了广告代码…

分类页面出现广告,应该是在分类页面的模板里插入了广告代码。

点击广告标题先出广告,可能是用了弹出式广告popup,用JS代码实现的。我没有用过,你网上搜一下吧。

  • 回复

添加新评论

此字段内容将保密,不会被其他人看见。
关于文本格式
  • 不允许使用HTML标签。
CAPTCHA
15 + 2 =
计算出这道简单的算术题并键入答案。例如、1+3,就输入 4。
发布评论前,请通过下面的验证,以免被当作垃圾评论机器人屏蔽。

搜索

沪ICP备17000093号-1

公安备案沪公网安备 31011402008254号

© 2016-2022 大伟哥博客版权所有