今天在服务器上安装了Discuz!X3.2,数据库等填写正确,下一步很快就新建了291张表完成安装,没有任何报错出现。完成后访问前台和后台却无法加载CSS&Js文件。F12查看它直接访问的网站根目录下边,这CSS&Js文件明明不在根目录啊,目测也是在static之类的里边。
网上搜索,有人问过这个问题,回答却不多。其中一个回答是更新缓存,我奈闷了,啥都没用呢,更新啥缓存。而且由于Js文件无法加载,后台很乱,一些菜单也出不来,好不容易才找着更新缓存在哪里——是在顶部的“工具”按钮里边,点击后第一个就是。按默认的勾选,点击下一步,有个CSS进度条在“动”,半天没跳转,旁边有文字说不跳转手动点击。我怎么知道你要多久会自动跳转,至少也提示一下吧,等了一阵不行了手动点了,是进入的下一步,直接报错,而且是一个数据库的错误:
1153 Got a packet bigger than 'max_allowed_packet' bytes
看它执行的SQL语句非常的长,像是serialize一堆数据要存进去,比如,首页中的“小黑屋”这些字眼都存进去的样子。难道是某个字段的范围不够长?不可能啊,这数据库都是它程序自己建的,需要多长难道会不知道么。于是百度这句错误信息,原来这是Mysql的一个配置,一次收到的信息过长,超过了默认值,默认值是1M。修改my.cnf即可。打开my.cnf,在[mysqld]那一块修改“max_allowed_packet”的值,如果没有就添加之,值=16M或其他合理数字。重启mysqld,再更新缓存,就成功了。这时候,网站前后的CSS&Js文件加载正常!
目测,这些资源文件的路径都是存起来的可以后台修改的,安装的时候按默认的插入没成功,取的时候也就是空,因此就从网站根目录来请求了。
以上,希望对遇到相同问题的人有所帮助。