站点配置有点小缺陷

我做到后面,出现了一个问题,整个网站都打不开,一步一步追溯下去,发现产生错误的过程是:

  1. app.blade.php模板载入错误;
  2. resources/views/layouts/app.blade.php以及resources/views/layouts/_footer.blade.php里引用Administrator插件源码vendor/summerblue/administrator/src/helpers.phpsetting函数时出错;
  3. setting如下:

    function setting($key, $default = '', $setting_name = 'site')
    {
        if ( ! config()->get($setting_name)) {
            // Decode the settings to an associative array.
            $site_settings = json_decode(file_get_contents(storage_path("/administrator_settings/$setting_name.json")), true);
            // Add the site settings to the application configuration
            config()->set($setting_name, $site_settings);
        }
    
        // Access a setting, supplying a default value
        return config()->get($setting_name.'.'.$key, $default);
    }

    并没有storage_path("/administrator_settings/$setting_name.json")这个文件;

  4. site.json这个文件,只有在后台的站点配置成功保存后,才会生成,即storage/administrator_settings/site.json

    代码上的原因是这样,但整个站点挂掉是突然的事情,所以有可能是我操作不当,最后导致的这个错误。

《L04 微信小程序从零到发布》
从小程序个人账户申请开始,带你一步步进行开发一个微信小程序,直到提交微信控制台上线发布。
《G01 Go 实战入门》
从零开始带你一步步开发一个 Go 博客项目,让你在最短的时间内学会使用 Go 进行编码。项目结构很大程度上参考了 Laravel。
讨论数量: 8

summer老师的这个插件,放在packagist上的README.md我没有看过,但应该是会提到需要第一次的保存操作,以生成配置文件的。

6年前 评论

我也报了这个错 ,

6年前 评论

@白衣落水 那么 怎么解决这个问题呢

6年前 评论

網路上有看到別人的site.json 新增之後就可以運作了!
https://github.com/ouronghuang/larabbs/blo...

5年前 评论
pardon110

是你打开方式不对。要先配置完站点(配置保存会自动生成配置文件)保存,修改完毕前台模板头尾部,最后访问前台,前台页面才会读到相应信息。

5年前 评论

新建 storage/administrator_settings/site.json 文件

$ mkdir storage/administrator_settings
$ touch storage/administrator_settings/site.json

填入以下内容

{
  "site_name": "Laravel \u8fdb\u9636\u6559\u7a0b - Powered by LaraBBS",
  "contact_email": "urau@example.net",
  "seo_description": "LaraBBS \u7231\u597d\u8005\u793e\u533a\u3002",
  "seo_keyword": "LaraBBS,\u793e\u533a,\u8bba\u575b,\u5f00\u53d1\u8005\u8bba\u575b"
}
5年前 评论

file
第一次只有在这四个字段都不为空,保存后才会生成缓存文件 site.json ,只要有一个不为空都不会成功生成缓存文件,只要第一次成功生成了缓存文件,之后的修改都会成功...
这个功能确实有问题,有时不能保存成功...

5年前 评论

简单来说就是你需要在后台保存一次内容, 才会生成配置文件。然后前台信息其实是去这个配置文件取的,就像数据库一样。不是直接从后台配置页面取的。第一次保存不能为空,不然没生成,就会报错

5年前 评论

讨论应以学习和精进为目的。请勿发布不友善或者负能量的内容,与人为善,比聪明更重要!