[Tips] Fix lỗi install fuel php bị fail do không ghi được cache và tmp

Spread the love

Mở đầu

Khi install fuel php mình bị lỗi bên dưới

INFO - 2018-07-12 04:08:30 --> Fuel\Core\Request::execute - Called
INFO - 2018-07-12 04:08:30 --> Fuel\Core\Request::execute - Setting main Request
ERROR - 2018-07-12 04:08:31 --> Error - Cache directory does not exist or is not writable. in /home/project/xxx/webapp/fuel/core/classes/cache/storage/file.php on line 66

Sửa lỗi

Theo như trên mạng suggest thì mình chạy thử cmd line bên dưới

root@bbb7c9690cca:/home/project/xxx/webapp# php oil refine install
    Made writable: /home/project/xxx/webapp/fuel/app/cache
    Made writable: /home/project/xxx/webapp/fuel/app/logs
    Failed to make writable: /home/project/xxx/webapp/fuel/app/tmp
    Made writable: /home/project/xxx/webapp/fuel/app/config

Ok. Vậy là thư mục fuel/app chúng ta ko có quyền write. Thử lại với whoami thì kết quả cho thấy chúng ta là root . Vậy có nghĩa khi chạy php oil refine thì đang bị chạy bên trong context là www-data. Ta có thể xử lý bằng cách chown www-data:www-data fuel/app -R
Sau đó chạy lại câu lệnh thì ta thấy đã ok.

root@bbb7c9690cca:/home/project/ingpass/webapp# php oil refine install
    Made writable: /home/project/ingpass/webapp/fuel/app/cache
    Made writable: /home/project/ingpass/webapp/fuel/app/logs
    Made writable: /home/project/ingpass/webapp/fuel/app/tmp
    Made writable: /home/project/ingpass/webapp/fuel/app/config

TL;DR

FuelPHP cần có ra 2 thư mục cachetmp mỗi khi nhận request.
Nếu 2 thư mục trên chưa tồn tại thì có thể sẽ bị lỗi nếu www-data không có quyền tạo thư mục / ghi file vào trong 2 thư mục đó.

Leave a Reply

Your email address will not be published. Required fields are marked *