M2碰到问题是家常便饭,千万不要慌。
我们应该这样做:
一,查看错误信息
1,nginx或者apache的错误日志
本教程的nginx错误日志在:
/var/log/nginx/error.log (nginx服务器的总错误日志)
/var/log/magento2/nginx/error.log (该项目下的nginx错误日志)
2,项目var/log下面的日志
debug.log
exception.log
system.log
这3个log都要看下。
一定要记得看。
特别是Notice
,WARNING
,Error
这几个类型的错误一定要引起重视!!!
3,调试
接下来就开始调试代码了。
开发环境参考下面的
//bbs.mallol.cn/?thread-148.htm
4,用tail
命令查看日志
tail :输出文件的最后几行。
用于linux查看日志的时候很方便,假如日志文件为:error.log
用法:
1. tail error.log
输出文件最后10行的内容
2. tail -nf error.log --n为最后n行
输出文件最后n行的内容,同时监视文件的改变,只要文件有一变化就同步刷新并显示出来
3. tail -n 5 error.log
输出文件最后5行的内容
4. tail -f error.log
输出最后10行内容,同时监视文件的改变,只要文件有一变化就显示出来。
二,谷歌搜索
如果看错误日志搞不定,就第一时间去谷歌搜索错误信息。
一定要用谷歌搜索,并且还得是英文的。
基本上能解决你80%的问题。
群里有很多人反馈说,为什么搜不到啊。
我问他怎么搜的,他说是百度或者中文搜的。
我靠,中文怎么搜得到,目前中文教程都稀缺,中文社区也稀缺。
百度也很垃圾,搜出来的都是些水货教程。
你应该这么做
- 谷歌英文关键字搜索
- https://magento.stackexchange.com 里搜索
- https://stackoverflow.com/ 里搜索
如果没有找到合适的VPN的话,可以看看TT-O 科学上网教程(VPN)
,用起来挺爽的,很便宜。
三, 如何查找某个文本在哪个文件
如果你想改页面里的某个文本,开启模版调试路径了,也找不到。
那么,你就直接在服务器里搜。
比如要修改这个文本内容。
那么直接在服务器里用grep搜索:
如果是用composer安装的,核心文件在vendor/magento/里。
grep -irn 'Coupon code is not valid' vendor/magento/
用github下载源码安装的话,核心文件在app/code/Magento/里
grep -irn 'Coupon code is not valid' app/code/Magento/
这样就找到地方了。
我们再重写这个类就行。