OpenCart一般的迁移步骤

ECMSPLUS | 2020-11-09 |

摘要:今天在迁移公司商城的时候,按照OpenCart一般的迁移步骤,导入数据库和程序文件,设置好Nginx解析,一切都很顺利,最后打开网站出现了两个问题: 出现报错YOU NEED THE PHP "DOMDocumen...

今天在迁移公司商城的时候,按照OpenCart一般的迁移步骤,导入数据库和程序文件,设置好Nginx解析,一切都很顺利,最后打开网站出现了两个问题:5VkECMSPLUS

  1. 出现报错YOU NEED THE PHP "DOMDocument" EXTENSION INSTALLED(原因是系统没有安装php-xml扩展)
  2. 商品图片无法显示(样式正常)(原因是config文件中的路径没有使用绝对路径)
  3. 后台登录不跳转(原因是session存储目录没有写入权限)
  4. 后台无法上传图片(原因是图片目录没有读写权限)
  5. 列表页无法显示(原因是渲染路径拼写错误)

注:服务器环境——CentOS 6.9 + Nginx 1.10 + MariaDB 10.3 + PHP 5.65VkECMSPLUS

解决办法

1. 缺少php-xml扩展

根据PHP版本安装相应的扩展,我的是PHP 5.6,所以应该安装php56w-xml扩展:5VkECMSPLUS

yum install -y php56w-xml
  • 1

安装完成后记得要重启php-fpm进程:5VkECMSPLUS

service php-fpm restart
  • 1

重新打开页面,可以正常打开页面了,但是出现了第2个问题,商品图片无法显示。5VkECMSPLUS

2. 商品图片无法显示

用Chrome工具看了一下,商品列表中的图片src显示为unknown,直觉是路径有问题,但是PHP脚本路径问题,还是图片路径问题,还无法确定,需要继续排查:5VkECMSPLUS

  1. 查看数据库中product表中图片的路径,一切正常,没有乱码,说明可以排除这个问题;
  2. 查看config.php文件中的路径配置,发现路径中使用了软链接/www/而没有使用绝对路径,这种用法很容易导致程序运行出错

所以果断更换了该路径为/home/www/,重新上传到网站根目录和admin下的两个config.php文件,两个均需要修改。5VkECMSPLUS
再次打开网页,图片已经可以正常显示。5VkECMSPLUS

3. 后台登录不跳转

后台登录无法跳转,首先需要从Nginx错误日志寻找线索,日志级别设为warn,不要使用debug级别,日志记录太过详细导致几百行日志记录看不到问题所在。5VkECMSPLUS

SessionHandler::read(): open(/var/lib/php/session/sess_****************, O_RDWR) failed: Permission denied (13)
  • 1

找到问题所在,解决就简单了,转到/var/lib/php/session目录,设置session目录权限为755即可5VkECMSPLUS

# chmod 755 session/
  • 1

至此迁移的问题基本全部解决,记录下来备查,希望能帮到碰到类似问题的同行。5VkECMSPLUS

4. 后台无法上传图片

检查Nginx日志发现的问题是:5VkECMSPLUS

[error]  open() "/www/www.domain.com/tm/searchTrademarkList.do" failed (2: No such file or directory)
  • 1

此问题和前面的第2个问题一样是因为/www/路径为软链接路径,是在Nginx解析配置www.domain.com.conf中使用了该路径,改成/www/的绝对路径/home/www/即可。5VkECMSPLUS

解决路径问题,只是其一,上传时仍然会提示如下错误:5VkECMSPLUS

It was not possible to complete the request due to file system permission restrictions.
  • 1

这是CKEditor编辑器的报错,这种报错多半是上传路径的权限不足导致的:5VkECMSPLUS

// 到网站根目录为image及其子目录catalog提权到777
//(注:此处也有可能是用户、组的问题导致的,比如上传时使用的是root权限,执行时是其他用户,那就需要修改用户、组)
chmod 777 image;
chmod 777 image/catalog

// 如果 catalog下存在子目录还需要将子目录一并提权
// 列出子目录
cd  /image/catalog && ls -F | grep '/$'
chmod 777 1/  10/  2/ 22/  

// 同时需要将子目录的缩略图目录提权(如果不提权会导致虽然上传成功,但是仍然无法选择使用已上传的图片)
cd /image/cache/catalog && ls -F | grep '/$'
chmod 777 1/  10/  2/ 22/  

回到后台检查,OK,可以正常上传了。5VkECMSPLUS
如果上述办法仍然不能解决问题,请参考CKEditor官网提供的问题排查方法检查:CKEditor问题排查5VkECMSPLUS

5. 列表页无法显示

控制器下的/catalog/controller/product/categorylist.php在渲染输出时误将product/Categorylist中的Categorylist首字母大写,这个错误在Windows Server 2008上正常运行,但是迁移到CentOS上后却无法渲染了,页面显示空白,调试之后发现只是一个字母的问题。5VkECMSPLUS

// 错误写法
$this->response->setOutput($this->load->view('product/Categorylist', $data));

// 正确写法
$this->response->setOutput($this->load->view('product/categorylist', $data));

免责/版权声明:

本篇文章给大家谈谈OpenCart一般的迁移步骤以及Opencart对应的知识,感谢你花时间阅读本站内容,希望对各位有所帮助,你也可以查看更多关于Opencart的信息。

1、所有来源标注为 ECMSPLUS/zwcms.com的内容版权均为本站所有,若您需要引用、转载,只需要注明来源及原文链接即可,如涉及大面积转载,请来信告知,获取授权。

2、本站所提供的文章资讯、软件资源、素材源码等内容均为作者提供、网友推荐、互联网整理而来(部分报媒/平媒内容转载自网络合作媒体),仅供学习参考,如有侵犯您的版权,请联系我们,本站将在三个工作日内改正。

3、若您的网站或机构从本站获取的一切资源进行商业使用,除来源为本站的资料需与本站协商外,其他资源请自行联系版权所有人。

4、 ECMSPLUS/zwcms.com不保证资源的准确性、安全性和完整性,请您在阅读、下载及使用过程中自行确认,本站亦不承担上述资源对您或您的网站造成的任何形式的损失或伤害

5、未经 ECMSPLUS/zwcms.com允许,不得盗链、盗用本站资源;不得复制或仿造本网站,不得在非 ECMSPLUS/zwcms.com所属的服务器上建立镜像, ECMSPLUS/zwcms.com对其自行开发的或和他人共同开发的所有内容、技术手段和服务拥有全部知识产权,任何人不得侵害或破坏,也不得擅自使用。

6、互联网的本质是自由与分享,我们真诚的希望,每一份有价值的正能量能够在互联网中自由传播,能够为每一个网站提供动力。

标签:
精品源码
  • 二维码种子溯源系统,一物一码防伪验证查询(单用户版) 支持定制开发

    惊爆价¥1500.00

    立即购买
    二维码种子溯源系统,一物一码防伪验证查询(单用户版) 支持定制开发
  • 帝国cms7.5精仿企业信息综合门户《莞商网》(原创)

    惊爆价¥1500.00

    立即购买
    帝国cms7.5精仿企业信息综合门户《莞商网》(原创)
  • 厂房网,厂房出租,厂房出售,仓库出租,园区招商商铺厂房网整站源码

    惊爆价¥1999.00

    立即购买
    厂房网,厂房出租,厂房出售,仓库出租,园区招商商铺厂房网整站源码
看点推荐
精选文章

站长交流群

互联网站长技术交流群
共同学习,共同进步,共同成长!

QQ交流群

推荐文章

EmpireCMS(帝国CMS) 最新版(v7.5)已知漏洞汇总

帝国第三方登陆:微信内部登陆+扫码登陆2.0安装说明与使用方法

帝国cms百度Webupload批量上传组件,支持前台投稿

帝国cms通过用灵动标签的SQL语句查询来调用栏目导航

帝国cms图片集字段morepic分割,自定义图片集显示

帝国cms 技巧整理笔记,持续更新中

帝国cms 技巧整理笔记:常用变量,COOKIE获取和系统模板

最新文章

热门标签

关注我们

微信扫一扫,关注更多精彩

  • 公众号
    全面掌握源码一手资讯

  • 服务号
    精彩活动,推送提醒

垂询热线:18680688182

商务合作:0769-8700 9090
文章投稿: