2017-12-15 19 views
0

db.sqlite 파일을 삭제하려고하고 다시 만들고 같은 방법으로이 DB에 정보를 모두 삽입하려고합니다. 그러나Laravel + SQLite = SQLSTATE [HY000] 일반 오류 : 8 읽기 전용 데이터베이스 쓰기 시도

public function destroy() 
{ 
    // Store all contents and delete the first one since this is created via seeder 
    $contents = $this->contents->all()->toArray(); 
    array_shift($contents); 

    // Delete db file, creates it from an example file and changes permissions 
    system('rm -rf ../database/database.sqlite'); 
    system('cp ../database/database.sqlite.example ../database/database.sqlite'); 
    system('chmod 0777 ../database/'); 
    system('chmod 0777 ../database/database.sqlite'); 

    // Insert data 
    foreach ($contents as $content) { 
     $this->contents->create($content); 
    } 

    return response()->json(['message' => 'Data has been destroyed!']); 
} 

내가 제목을 설명하는 오류 얻을 그것을 실행하려고 : 나는에 777 권한을주는거야

SQLSTATE[HY000]General Error: 8 attempt to write a readonly database

를이 내가 사용하는 방법입니다 파일 및 폴더 다른 사람들에게 권장하는 질문에 대한 대답으로, 나는 왜 그것이 작동하지 않는 지 잘 모릅니다.

+0

가능한 복제 [SQLite는 읽기 전용 데이터베이스 (https://stackoverflow.com/questions/3319112/sqlite-read-only-database) 나는 거의 같은 속는 같은 질문을 표시 – MCMXCII

+0

@MCMXCII 뿐만 아니라 질문 제출자는 질문의 마지막 줄에 "777 권한을 파일에, _folder_에 부여하고 있습니다"라고 말합니다. – cteski

+0

@cteski 내 잘못, 그것을 보지 못했습니다. – MCMXCII

답변

0

귀하는이 폴더에 쓸 수 있도록

sudo chown -R :www-data /var/www/yourLarvelFolder

우리의 저장소 디렉토리를 통해 권한을 부여 우리의 웹 그룹에 laravel 디렉토리의

첫 번째 변경 소유권을 칭찬하기 위해 실행해야합니다.

sudo chmod -R 775 /var/www/yourLarvelFolder/storage