http://bbs.xiuno.com/
http://git.oschina.net/xiuno/xiunobbs/
Xiuno BBS 插件开发入门: https://www.kancloud.cn/xiuno/bbs4/214358
# Xiuno BBS 伪静态
nginx伪静态:
if (-f $request_filename) {
break;
}
if ($request_filename ~* "\.(js|ico|gif|jpe?g|bmp|png|css)$") {
break;
}
location ~* \.(htm)$ {
rewrite "^(.*)/(.+?).htm(.*?)$" $1/index.php?$2.htm$3 last;
}Apache伪静态:
RewriteEngine on
# Apache 2.4
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^(.*?)([^/]*)$ $1index.php?$2 [QSA,PT,L]
# Apache other
#RewriteRule ^(.*?)([^/]*)\.htm(.*)$ $1/index.php?$2.htm$3 [L]
# 如何排查白屏,500内部错误,乱码等错误?
因为环境和数据等问题,有时候可能会出现一些莫名其妙的问题。别人家跑的好好的,为啥自己的就跑不起来?
如何排查?
1. 打开 php.ini 的 display_errors=On;并且重启相关进程,使之生效。
2. 查看日志文件 log/日期/php_error.php sms_error.php 这类有错误提示的文件。
如果没有,按照下面的步骤修改源代码,让错误暴漏出来:
3. 修改文件: index.php,将 DEBUG 的值修改为 2
!defined('DEBUG') AND define('DEBUG', 2);
4. 禁止所有的插件,修改 conf/conf.php
'disabled_plugin' => 1,
5. 查看报错的信息,根据信息来判断错误到底处在哪里。
如果无法确定,请将报错信息贴到论坛里。
6. 查看错误日志:log/{日期}/phperror.php dberror.php
7. 排查完,将 DEBUG 改回 0。
8. 如果 DEBUG 为 2 的时候没有错误,改为 0 出错。则修改 xiunophp/xiunophp.min.php 文件
18 行左右,将 error_reporting() 的参数中的 0 改为 E_ALL
error_reporting(DEBUG ? E_ALL : E_ALL);
9. 排查完,改回去。
------------------------------------------------------------------------------------
常见的问题:
1. FTP 文件上传半截文件,导致 500 内部错误(其实是半截文件导致的 PHP 语法错误被隐藏了)。
2. 目录权限不可写 conf upload tmp plugin 需要可写权限(Windows 需要 everyone 用户可读写,Linux chmod 777)。
3. PHP 运行环境没配置正确。
4. 更新代码后,缓存没清理。
------------------------------------------------------------------------------------
各种缓存的清理方法:
浏览器缓存清理方法:CTRL+F5。
CDN 缓存清理方法:登录 CDN 管理界面,刷新缓存。
Xiuno BBS 的缓存:删除 tmp 目录下所有文件(保留 tmp 目录!)。