我已将// Generated : 2 files merged into one file: Player.java
public class Player {
public static void main(String[] args) {
System.out.println(new Cell(1,2).toString());
}
// Class Cell merged in this file
public class Cell {
int x,y;
public Cell(int x, int y) {
this.x = x;
this.y = y;
}
public String toString() {
return "["+x+","+y+"]";
}
}
}
配置更改为使用每日错误日志,并且只保留其中的7个:
app.php
但是,根据apache的错误日志,这些日志文件中没有写入任何内容,因为它们无法写入:
PHP致命错误:未捕获的异常' UnexpectedValueException'使用消息'流或文件" /var/www/newshub/storage/logs/laravel-2016-07-18.log"无法打开:未能打开流:权限被拒绝'
我尝试递归更改/*
|--------------------------------------------------------------------------
| Logging Configuration
|--------------------------------------------------------------------------
|
| Here you may configure the log settings for your application. Out of
| the box, Laravel uses the Monolog PHP logging library. This gives
| you a variety of powerful log handlers / formatters to utilize.
|
| Available Settings: "single", "daily", "syslog", "errorlog"
|
*/
'log' => env('APP_LOG', 'daily'),
'log_max_files' => 7,
和storage
目录的写权限。这很有效,但是当第二天创建错误日志时,它就不再具有写入权限。
我该如何解决这个问题?
答案 0 :(得分:0)
cd /var/www/newshub/storage/
chmod -R 0777 logs
请使用ssh尝试这些命令
答案 1 :(得分:0)
您是否正在使用GIT更新服务器上的代码库?
我注意到,有时当我拉动时,某些目录的权限会丢失,logs
目录中的权限也不会发生,但值得一看。
至于Laravel,这不完全是在框架而不是服务器配置问题上。
答案 2 :(得分:0)
我有完全一样的问题。文件每天创建,然后无法写入。问题出在文件的所有者。这应该是www-data,但是它是由另一个用户创建的。我运行命令
sudo chown -R ubuntu:www-data /storage
,一切正常。
为解决此问题,我创建了一个crontab来每天运行以更改新创建文件的所有权。该文件在当天生成后立即运行。这是一个短期修复,但是正在研究如何长期获得此修复。
答案 3 :(得分:0)
根据您的操作系统,使用ubuntu或apache将所有者更改为递归存储文件夹。它可以正常工作,而不会出现任何其他问题。
示例: sudo chown -R apache:apache / var / www / html / storage(基于您当前的存储位置)