## 每月一號前端報500錯,Linux系統
這是runtime 的權限問題,請**檢查守護進程的啟動用戶應該設置成www;**
方法一: 命令操作:
修改目錄權限:)777 www組
/runtime
修改文件夾及子文件夾權限可以用命令:? chmod -R 777 runtime
或者
在啟動workermam時使用 sudo -u www php think workerman start --d 命令
### 寶塔操作:
1.找到知識付費項目目錄

2.點擊權限設置,設置權限為777,點擊確定

命令操作
1.目錄切換到知識付費項目根目錄,點擊終端

2.打開終端后切到知識付費根目錄,輸入命令執行即可

方法二:代碼修改
由于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配置不顯示
- 商業授權
- 授權說明
- 申請授權
- 技術文檔
- 頁面鏈接
- 開發規范
- 數據字典