## 每月一号前端报500错,Linux系统
这是runtime 的权限问题,请**检查守护进程的启动用户应该设置成www;**
方法一: 命令操作:
修改目录权限:)777 www组
/runtime
修改文件夹及子文件夹权限可以用命令: chmod -R 777 runtime
或者
在启动workermam时使用 sudo -u www php think workerman start --d 命令
### 宝塔操作:
1.找到知识付费项目目录
![](https://img.kancloud.cn/a7/27/a72795fb5a61ee744c6bd99ecdf1a3fd_3484x1702.png)
2.点击权限设置,设置权限为777,点击确定
![](https://img.kancloud.cn/e0/f0/e0f03a08e459f38dd134bc99960ab289_2002x786.png)
命令操作
1.目录切换到知识付费项目根目录,点击终端
![](https://img.kancloud.cn/e0/b7/e0b7aea146558326f74fb3dcd646d801_3016x738.png)
2.打开终端后切到知识付费根目录,输入命令执行即可
![](https://img.kancloud.cn/b7/9f/b79f7573c962583bec60fb2c61437a70_2818x656.png)
方法二:代码修改
由于www用户和root用户(比如command的cli进程日志)都有可能对log文件进行读写。
如果是由www用户创建的log文件,不会出任何问题。
但是如果是先由root用户创建的log文件,然后再到www用户角色去写,就会出问题了
因为一般默认创建的log文件的权限是 -rw-r--r-
也就是www没有权限去写入root用户创建的log文件。
网上的方法大体就是像下面代码一样在mkdir的时候修改目录的权限
修改文件:\\thinkphp\\library\\think\\log\\driver\\File.php里的save()函数
~~~
public function save(array $log = [], $append = false)
{
$destination = $this->getMasterLogFile();
$path = dirname($destination);
if (PHP_SAPI != 'cli') {
!is_dir($path) && mkdir($path, 0755, true);
}else{
!is_dir($path) && mkdir($path, 0777, true) && chmod($path, 0777);
}
// !is_dir($path) && mkdir($path, 0755, true);
$info = [];
foreach ($log as $type => $val) {
foreach ($val as $msg) {
if (!is_string($msg)) {
$msg = var_export($msg, true);
}
$info[$type][] = $this->config['json'] ? $msg : '[ ' . $type . ' ] ' . $msg;
}
if (!$this->config['json'] && (true === $this->config['apart_level'] || in_array($type, $this->config['apart_level']))) {
// 独立记录的日志级别
$filename = $this->getApartLevelFile($path, $type);
$this->write($info[$type], $filename, true, $append);
unset($info[$type]);
}
}
if ($info) {
return $this->write($info, $destination, false, $append);
}
return true;
}
~~~
但是上面只能修改文件夹的权限,并没有修改文件夹下具体的.log文件的权限。
修改文件:\\thinkphp\\library\\think\\log\\driver\\File.php里的write()函数
~~~
protected function write($message, $destination, $apart = false, $append = false)
{
// 检测日志文件大小,超过配置大小则备份日志文件重新生成
$this->checkLogSize($destination);
// 日志信息封装
$info['timestamp'] = date($this->config['time_format']);
foreach ($message as $type => $msg) {
$info[$type] = is_array($msg) ? implode("\r\n", $msg) : $msg;
}
if (PHP_SAPI == 'cli') {
$message = $this->parseCliLog($info);
} else {
// 添加调试日志
$this->getDebugLog($info, $append, $apart);
$message = $this->parseLog($info);
}
// return error_log($message, 3, $destination);
// 解决root生成的文件,www用户没有写权限的问题 by Werben 20190704 begin
if (!is_file($destination)) {
$first = true;
}
$ret = error_log($message, 3, $destination);
try {
if (isset($first) && is_file($destination)) {
chmod($destination, 0777);
unset($first);
}
} catch (\Exception $e) { }
return $ret;
}
~~~
注:方法修改完成后,删除runtime文件,前端刷新检查。
- 序言
- 系统简介
- 系统介绍
- 前端功能脑图
- 后端功能列表
- 项目介绍
- 免费版与商业版功能对比
- 源码安装(必看)
- 安装前必读
- 服务器及域名配置
- 服务器购买
- 服务器端口
- 域名购买
- 域名配置
- https域名
- ssl证书申请
- https域名配置
- 新手推荐-宝塔安装
- 【安装视频教程】
- 1.宝塔配置
- 1.服务器配置
- 2.登录宝塔
- 2.环境配置
- 3.安装 swoole-loader
- 4.源码安装
- 5.程序一键安装
- 6.启动命令
- 启动消息队列
- 启动workerman
- Windows环境安装
- windows+宝塔安装教程
- windows+phpstudy8 安装教程
- 伪静态配置
- 安装 swoole-loader
- workerman启动
- 手动安装教程
- 安装完检测
- 切换PHP版本
- 多项目部署
- 程序配置(必读)
- 公众号
- 公众号-域名配置
- 公众号-开发配置
- 公众号-模版消息
- 公众号-订阅消息
- 公众号-微信菜单
- 阿里云产品配置
- 阿里云购买产品
- key-阿里云key配置
- 视频加密-阿里云视频点播
- 阿里云资源包购买
- 上传图片视频配置(方法二选一 只需安装一个即可)
- 上传图片视频-系统后台配置
- 上传图片视频-阿里云平台配置
- 直播配置(方法二选一 只需安装一个即可)
- 直播-系统后台配置
- 直播-阿里云控制台配置
- 短信
- 短信-CRMEB短信平台
- 短信-阿里云短信
- 支付
- 公众号-微信端支付
- 公众号-h5端微信支付
- 公众号-微信扫码支付
- 支付宝-支付宝支付配置
- 支付宝-支付宝扫码支付
- workerman 启动
- 配置常见问题
- 项目更新及pc安装操作
- 项目更新说明
- pc端安装说明
- pc端更新说明
- 功能说明
- 前端界面说明
- 移动首页
- 分类
- 商品
- 个人中心
- 在线直播
- 添加直播
- 直播列表管理
- 礼物管理
- 直播带货
- 直播后台功能
- 直播间说明
- 商品管理
- 商品分类
- 商品列表
- 商品评论
- 专题课程
- 界面展示
- 添加专题
- 添加视频
- 素材管理
- 专题评论
- 轻专题
- 课程有效期
- 赠送好友
- 订单管理
- 新闻管理
- 拼团
- 添加拼团
- 添加拼团弹幕
- 拼团推荐到首页
- 分销规则
- 规则说明
- 分销配置
- 提现银行配置
- 会员功能
- 会员配置
- 会员使用
- 成为会员
- 活动管理
- 签到
- 余额支付
- 地址管理
- 设置子账号
- 讲师功能
- 推流软件使用
- 教务管理
- 老师管理
- 班级管理
- 助学工具
- 题库管理
- 试卷管理
- 证书管理
- 兑换码
- 资料下载
- pc端展示
- pc端开启
- PC端平台页面配置
- 网站统计
- 客服功能
- 微信客服
- CRMchat客服
- 短信通知
- 常见问题
- 数据库修改配置
- 后台接口访问异常
- workerman常见问题
- 直播常见问题
- 每月一号前端报500错
- redis密码
- 设置redis密码
- reids认证报错
- 密码有误
- 切换php版本
- 音视频上传有误
- 安装完成后台报语法错误
- 刷新缓存报错
- 安装完成报内存超出
- 直播弹幕或礼物有时候无法发出
- 安装无法修改写入权限
- windows下首页空白或提示控制器不存在
- 直播延迟问题
- OBS降低延迟
- 支付宝支付错误
- 支付宝支付报错invalid [default store dir]: /tmp/
- 阿里云oss设置防盗链
- 直播拉取回放
- 首页提示Undefined index: host
- 首页空白检查提示系统错误
- 客服功能报错
- 数据库主键冲突
- 微信菜单添加报错
- 微信提示用户信息获取失败
- 支付宝回调有问题
- 守护进程不显示
- 后台直播域名无法设置录制
- 后台题库批量导入报错
- pc配置不显示
- 商业授权
- 授权说明
- 申请授权
- 技术文档
- 页面链接
- 开发规范
- 数据字典