切换货币异常问题

安装报错 · shronfen123 · 于 4个月前 发布 · 317 次阅读

切换货币异常问题求助,Thanks!

根据http://www.fecshop.com/topic/527 帖子安装fecshop1.4.3.2pc版本发现货币切换不了,F12查看发现异常

jquery-3.0.0.min.js?v=2:4 GET http://fecshop.appfront.feelpay8.com/customer/ajax?currentUrl=http%3A%2F%2Ffecshop.appfront.feelpay8.com%2F&product_id= 500 (Internal Server Error)

PS:系统里我把所有相关的fancyecommerce单词都替换了成了feelpay8 不知道是不是这个原因


feschop/common/main-local.php 代码如下

<?php
return [
    'components' => [
        // Mysql部分的配置
        'db' => [ 
            'class' => 'yii\db\Connection',
            'dsn' => 'mysql:host=127.0.0.1;dbname=fecshop',
            'username' => 'root',
            'password' => '123456',
            'charset' => 'utf8',
        ],
        // Mongodb部分的配置
		'mongodb' => [
            'class' => 'yii\mongodb\Connection',
			# 有账户的配置
            //'dsn' => 'mongodb://username:password@localhost:27017/datebase',
			# 无账户的配置
			'dsn' => 'mongodb://127.0.0.1:27017/fecshop',
			# 复制集
			//'dsn' => 'mongodb://10.10.10.252:10001/erp,mongodb://10.10.10.252:10002/erp,mongodb://10.10.10.252:10004/erp?replicaSet=terry&readPreference=primaryPreferred',
        ],
		// Redis的配置
		'redis' => [
            'class' => 'yii\redis\Connection',
            'hostname' => '127.0.0.1',    // redis的host
            'port' => 6379,               // redis的端口     
			'password'  => '123456', // redis的密码
            'database' => 0,    // redis的库,此处不要改动
        ],
        // Cache 组件的配置,您需要配置下面的redis
        'cache' => [
            'class'     => 'yii\redis\Cache',
            // 缓存配置独立的redis,您可以和上面的redis配置一致
            'redis' => [
                'hostname' => '127.0.0.1',   // redis的host
                'port' => 6379,              // redis的端口   
                'password'  => '123456', // redis的密码
            ],
        ],
        // Session 组件的配置,您需要配置下面的redis
        'session' => [
            'class'   => 'yii\redis\Session',
            // session过期时间,1天过期
            'timeout' => 86400 * 1, 
            // 缓存配置独立的redis,您可以和上面的redis配置一致
            'redis' => [
                'hostname' => '127.0.0.1', // redis的host
                'port' => 6379,            // redis的端口   
                'password'  => '123456', // redis的密码
            ],
        ],

    ],
];

fecshop\appfront\config\fecshop_local_services\Store.php 代码

<?php
   return [
   'store' => [
        'class'  => 'fecshop\services\Store',
        'stores' => [
            // store key:域名去掉http部分,作为key,这个必须这样定义。
            'fecshop.appfront.feelpay8.com' => [
                'language'         => 'en_US',        // 语言简码需要在@common/config/fecshop_local_services/FecshopLang.php 中定义。
                'languageName'     => 'English',    // 语言简码对应的文字名称,将会出现在语言切换列表中显示。
                'localThemeDir'    => '@appfront/theme/terry/theme01', // 设置当前store对应的模板路径。关于多模板的方面的知识,您可以参看fecshop多模板的知识。
                'thirdThemeDir'    => [ // 第三方模板路径,数组,可以多个路径
                    
                ],  
                'currency'         => 'USD', // 当前store的默认货币,这个货币简码,必须在货币配置中配置
                /*
                 * 当设备满足什么条件的时候,进行跳转。
                 * 这种方式不怎么高效,最好的方式是在nginx中配置。
                 */
                'mobile'        => [
                    'enable'            => true,
                    'condition'         => ['phone', 'tablet'], // phone 代表手机,tablet代表平板,当都填写,代表手机和平板都会进行跳转
                    'redirectDomain'    => 'fecshop.apphtml5.feelpay8.com',    // 如果是移动设备访问进行域名跳转,这里填写的值为store key
                    'https'             => false,  // 手机端url是否支持https,如果支持,设置https为true,如果不支持,设置为false
                ],
                // 第三方账号登录配置
                'thirdLogin' => [
                    // facebook账号登录
                    'facebook' => [       //fb api配置 ,fb可以一个app设置pc和手机web两个域名
                        'facebook_app_id'     => '108618299786621',
                        'facebook_app_secret' => '420b56da4f4664a4d1065a1d31e5ec73',
                    ],
                    // google账号登录
                    'google' => [       //谷歌api visit https://code.google.com/apis/console to generate your google api
                        'CLIENT_ID'      => '380372364773-qdj1seag9bh2n0pgrhcv2r5uoc58ltp3.apps.googleusercontent.com',
                        'CLIENT_SECRET'  => 'ei8RaoCDoAlIeh1nHYm0rrwO',
                    ],
                ],
                // 用于sitemap生成中域名。
                'https'            => true,
                // sitemap的路径。
                'sitemapDir' => '@appfront/web/sitemap.xml',
            ],
            'fecshop.appfront.feelpay8.com/fr' => [
                'language'         => 'fr_FR',
                'languageName'     => 'Français',
                'localThemeDir'    => '@appfront/theme/terry/theme01',
                'thirdThemeDir'    => [ // 第三方模板路径,数组,可以多个路径
                    '@fecshop/theme/rosegal/appfront/theme/rosegal',
                ], 
                'currency'         => 'RMB',
                'mobile'           => [
                    'enable'               => false,
                    'condition'            => ['phone'], // phone 代表手机,tablet代表平板。
                    'redirectDomain'       => 'fecshop.apphtml5.feelpay8.com/fr', // 跳转后的url。
                    'https'             => false,  // 手机端url是否支持https,如果支持,设置https为true,如果不支持,设置为false
                ],
                // 第三方账号登录配置
                'thirdLogin' => [
                    // facebook账号登录
                    'facebook' => [       //fb api配置 ,fb可以一个app设置pc和手机web两个域名
                        'facebook_app_id'     => '108618299786621',
                        'facebook_app_secret' => '420b56da4f4664a4d1065a1d31e5ec73',
                    ],
                    // google账号登录
                    'google' => [       //谷歌api visit https://code.google.com/apis/console to generate your google api
                        'CLIENT_ID'      => '380372364773-qdj1seag9bh2n0pgrhcv2r5uoc58ltp3.apps.googleusercontent.com',
                        'CLIENT_SECRET'  => 'ei8RaoCDoAlIeh1nHYm0rrwO',
                    ],
                ],
                'sitemapDir' => '@appfront/web/fr/sitemap.xml',
            ],
            'fecshop.appfront.feelpay8.com/es' => [
                'language'         => 'es_ES',
                'languageName'     => 'Español',
                'localThemeDir'    => '@appfront/theme/terry/theme01',
                'thirdThemeDir'    => [],
                'currency'         => 'USD',
                'mobile'           => [
                    'enable'            => false,
                    'condition'         => ['tablet'],
                    'redirectDomain'    => 'fecshop.apphtml5.feelpay8.com/es',
                    'https'             => false,  // 手机端url是否支持https,如果支持,设置https为true,如果不支持,设置为false
                ],
                // 第三方账号登录配置
                'thirdLogin' => [
                    // facebook账号登录
                    'facebook' => [       //fb api配置 ,fb可以一个app设置pc和手机web两个域名
                        'facebook_app_id'     => '108618299786621',
                        'facebook_app_secret' => '420b56da4f4664a4d1065a1d31e5ec73',
                    ],
                    // google账号登录
                    'google' => [       //谷歌api visit https://code.google.com/apis/console to generate your google api
                        'CLIENT_ID'      => '380372364773-qdj1seag9bh2n0pgrhcv2r5uoc58ltp3.apps.googleusercontent.com',
                        'CLIENT_SECRET'  => 'ei8RaoCDoAlIeh1nHYm0rrwO',
                    ],
                ],
                'sitemapDir' => '@appfront/web/sitemap_es.xml',
            ],
            'fecshop.appfront.feelpay8.com/cn' => [
                'language'         => 'zh_CN',
                'languageName'     => '中文',
                'localThemeDir'    => '@appfront/theme/terry/theme01',
                'thirdThemeDir'    => [],
                'currency'         => 'CNY',
                'mobile'           => [
                    'enable'            => false,
                    'condition'         => ['phone', 'tablet'],
                    'redirectDomain'    => 'fecshop.apphtml5.feelpay8.com/cn',
                    'https'             => false,  // 手机端url是否支持https,如果支持,设置https为true,如果不支持,设置为false
                ],
                // 第三方账号登录配置
                'thirdLogin' => [
                    // facebook账号登录
                    'facebook' => [       //fb api配置 ,fb可以一个app设置pc和手机web两个域名
                        'facebook_app_id'     => '108618299786621',
                        'facebook_app_secret' => '420b56da4f4664a4d1065a1d31e5ec73',
                    ],
                    // google账号登录
                    'google' => [       //谷歌api visit https://code.google.com/apis/console to generate your google api
                        'CLIENT_ID'      => '380372364773-qdj1seag9bh2n0pgrhcv2r5uoc58ltp3.apps.googleusercontent.com',
                        'CLIENT_SECRET'  => 'ei8RaoCDoAlIeh1nHYm0rrwO',
                    ],
                ],
                'sitemapDir' => '@appfront/web/cn/sitemap.xml',
            ],
            
            
            'fecshop.appfront.feelpay8.com/it' => [
                'language'         => 'it_IT',  
                'languageName'     => 'Italiano',
                'localThemeDir'    => '@appfront/theme/terry/theme01',
                'thirdThemeDir'    => [],
                'currency'         => 'RMB',
                'mobile'           => [
                    'enable'               => false,
                    'condition'            => ['phone'], // phone 代表手机,tablet代表平板。
                    'redirectDomain'       => 'fecshop.apphtml5.feelpay8.com/it', // 跳转后的url。
                    'https'             => false,  // 手机端url是否支持https,如果支持,设置https为true,如果不支持,设置为false
                ],
                // 第三方账号登录配置
                'thirdLogin' => [
                    // facebook账号登录
                    'facebook' => [       //fb api配置 ,fb可以一个app设置pc和手机web两个域名
                        'facebook_app_id'     => '108618299786621',
                        'facebook_app_secret' => '420b56da4f4664a4d1065a1d31e5ec73',
                    ],
                    // google账号登录
                    'google' => [       //谷歌api visit https://code.google.com/apis/console to generate your google api
                        'CLIENT_ID'      => '380372364773-qdj1seag9bh2n0pgrhcv2r5uoc58ltp3.apps.googleusercontent.com',
                        'CLIENT_SECRET'  => 'ei8RaoCDoAlIeh1nHYm0rrwO',
                    ],
                ],
                'sitemapDir' => '@appfront/web/it/sitemap.xml',
            ],
        ],

    ],

];


fecshop\common\config\fecshop_local_services\Image.php 代码

<?php
/**
 * FecShop file.
 *
 * @link http://www.fecshop.com/
 *
 * @copyright Copyright (c) 2016 FecShop Software LLC
 * @license http://www.fecshop.com/license/
 */
return [
    'image' => [
        'appbase'    => [
            'appfront' => [
                'basedir'    => '@appimage/appfront',
                'basedomain' => '//img.appfront.feelpay8.com',
            ],
            'apphtml5' => [
                'basedir'    => '@appimage/apphtml5',
                'basedomain' => '//img.apphtml5.feelpay8.com',
            ],
            //'appadmin' => [
            //	'basedir' => '@appimage/appadmin',
            //	'basedomain' => '//img.appadmin.feelpay8.com',
            //],
            'common' => [
                'basedir'    => '@appimage/common',
                'basedomain' => '//img.feelpay8.com',
            ],
        ],
    ],
];


本机HOST

127.0.0.1 localhost 192.168.0.127 windows10.microdone.cn 0.0.0.0 account.jetbrains.com

127.0.0.1 rock.feelpay8.com # rockmongo的域名指向,rockmongo是mongodb的可视化界面,类似于mysql的phpmyadmin 127.0.0.1 my.feelpay8.com # mysql的phpmyadmin的域名指向 127.0.0.1 fecshop.appfront.feelpay8.com 127.0.0.1 fecshop.apphtml5.feelpay8.com 127.0.0.1 fecshop.appserver.feelpay8.com 127.0.0.1 fecshop.appadmin.feelpay8.com 127.0.0.1 img.appfront.feelpay8.com 127.0.0.1 img.apphtml5.feelpay8.com 127.0.0.1 img.feelpay8.com

共收到 6 条回复 问题提问
Fecshop#14个月前 0 个赞

1.你的pc端网站,首页,产品页面访问正常否?

2.你的报错为:

jquery-3.0.0.min.js?v=2:4 GET http://fecshop.appfront.feelpay8.com/customer/ajax?currentUrl=http%3A%2F%2Ffecshop.appfront.feelpay8.com%2F&product_id= 500 (Internal Server Error)

你直接访问以下,这个链接:http://fecshop.appfront.feelpay8.com/customer/ajax?currentUrl=http%3A%2F%2Ffecshop.appfront.feelpay8.com%2F&product_id=,看看报错信息是什么

Fecshop#24个月前 0 个赞

http://fecshop.appfront.feelpay8.com/customer/ajax 访问这个url,对应的文件为: https://github.com/fecshop/yii2_fecshop/blob/master/app/appfront/modules/Customer/controllers/AjaxController.phpactionIndex() 方法,自己调试

也就是文件 vendor/fancyecommerce/fecshop/app/appfront/modules/Customer/controllers/AjaxController.php

Fecshop#34个月前 0 个赞

你的这个报错,和切换货币是没有关系的,这个报错是获取当前用户的信息

切换货币是: http://fecshop.appfront.fancyecommerce.com/assets/5c1db8f5/js/js.js?v=2 里面的这个js方法

$(".top_currency .currency_list ul li").click(function(){
		currency = $(this).attr("rel");
		
		htmlobj=$.ajax({url:currentBaseUrl+"/cms/home/changecurrency?currency="+currency,async:false});
		//alert(htmlobj.responseText);
		location.reload() ;
	});
	

也就是访问 http://fecshop.appfront.fancyecommerce.com/cms/home/changecurrency?currency=EUR

这个链接对应的是:https://github.com/fecshop/yii2_fecshop/blob/master/app/appfront/modules/Cms/controllers/HomeController.php

public function actionChangecurrency()
    {
        $currency = \fec\helpers\CRequest::param('currency');
        Yii::$service->page->currency->setCurrentCurrency($currency);
    }

因为货币是基于session的,因此ajax访问后,刷新页面,页面就切换货币了、

shronfen123#54个月前 0 个赞

试了很多次 我把百度云下下来的项目直接init之后修改数据库连接, 添加HOST但还是报错了,报错之后切换语言可以 切换货币失败

Fecshop#64个月前 0 个赞

@shronfen123 [#5楼](#comment5) 上面的回复已经把原理说的很清楚了,自己调试排查。

百度网盘的文件和composer安装的是一样的,出现你这个问题的人很少, 之前有一个人出session的问题,是redis版本过低导致的

上面的回复已经把原理说的很清楚了,自己调试排查。

添加回复 (需要登录)
需要 登录 后方可回复, 如果你还没有账号请点击这里 注册
Your Site Analytics