Mac环境开发OpenCart填坑

Administrator
    OpenCart是基于PHP开发的开源免费电商系统,官方网站说商城模块已经超过1.3万,这里就不详细介绍了。毕竟本文是记录作为新手使用Mac开发OpenCart时遇到的小坑。

PHP环境

  说到环境这个问题,我是很反感的,搭起来真是要命,我经历过Edx、ERPNext、Nodejs等各种麻烦事,所以现在让我搭环境的话,除了Odoo之外我尽量回避。

  所以,我不想在Mac上安装什么PHP、Mysql、Apache、Nginx,就找集成环境啦。通过搜索得到的答案是MAMP,于是乎环境这个问题就解决了。

OpenCart安装

    其实安装这里没有什么坑,只是记录一下:将从官网下载下来的源码包解压之后,将upload目录中的内容放到MAMP的htdocs目录中。然后,将根目录和admin目录中的config-dist.php复制成config.php。接下来,访问你的IP即可开始安装。在数据库页面,填写你已经创建了的数据库的名称,mysql的账户,别忘了端口号是不是被你改过。

保存商店设置报错500

    安装了OpenCart之后,我的第一件事是添加中文语言,根据官方的Doc,我从官方Market上下载了免费的中文包,放到admin和catalog中相应的目录之后,接下来应该设置商店了,没想到商店设置改与不改,只要点击保存按钮就进入500页面。

    新手啊,这就是下马威。

    我首先想到的是错误信息,为什么页面上没有错误信息?错误信息在哪里能看到?PHP如何调试啊? 接下来就尝试:看OpenCart界面上的错误信息(系统设置-工具-错误日志),这个方案是比较容易搜索到的,并且有附加的设置(OpenCart上可以关闭错误日志)。 

    还能够搜索到的方案就是PHP的display_errors选项等等。这个方案耗费了我一点时间,因为php.in这个文件散布于多个位置:

  • MAMP/bin/php/php7.1.1/conf/php.ini

  • MAMP/conf/php7.1.1/php.ini

  • MAMP/..opencart目录.../php.ini

  • MAMP/..opencart目录.../admin/php.ini

    结果,报错在nginx的(MAMP中我使用了Nginx)log中发现了,原来是权限错误,这就好解决了,将权限改成777,开发环境嘛,无所谓。

"/Applications/MAMP/Library/client_body_temp/0000000006" failed (13: Permission denied),

Cannot modify header information

    原本以为解决完了权限,保存就没问题了,没想到出现了header信息不能修改的错误。其实这个问题很简单,我是新手嘛。

!!!!Warning: Cannot modify header information - headers already sent by (output started at /Applications/MAMP/htdocs/oc2/admin/model/setting/setting.php:21) in /Applications/MAMP/htdocs/oc2/system/library/response.php on line 12

    这是因为我为了解决上一个问题,在源代码中加了echo语句。当然,这个问题我搜索过,很多方案说是有空格啊什么的。还是有用的,起码告诉我们问题出在了对代码的更改上,最起码官方的代码不会出这个问题,所以删除添加的代码也好,用官方文件覆盖也好,问题好解决。

留下评论

你应该 登入 张贴评论