Laravel Shared Hosting

| laravel

How to deploy laravel app on 000webhost

https://www.000webhost.com

#fixbug: laravel shared host

Vì đi support các bạn khá nhiều lỗi này và mình cũng có hứa là sẽ viết một bài để khỏi đi support dạo nữa mà dạo này bận rộn quá nên chưa viết được nay thì viết bất chấp luôn.

Nếu bạn đang xài VPS thì đừng làm theo cách này (đừng tự bóp dái)

Post này cũng dành cho các host mà bạn nghĩ nó như 000webhost nói chung là shared host đó.

Lưu ý toàn bộ config trong file .env không có tác dụng trên shared host 000webhost này, nên khỏi up cho nhẹ host cũng được!

  1. Nếu bạn chưa up source lên host:
    • Dừng server lại nha
    • Clear cache này nọ các kiểu nói chung là xóa sạch cache php artisan config:clear php artisan cache:clear
    • Xóa thư mục chứa cache /bootstrap/cache/*
    • Config file .env đúng với trên host thật
    • Rồi up lên đi. Hên xuôi à! bình thường ai ăn ở tốt thì work luôn khỏi next step 2. :D
  2. Nếu bạn trót dại up source lên host roài! ==’
    • Bật debug mode = true lên (config/app.php) chứ không phải .env => Thêm như này nè public_html/config/app.php
    • Set app key trong config/app.php luôn như đã nói ở trên .env là phế phẩm mà. => nhớ copy đủ cả prefix base:64...
    • Cấu hình database trong config/database.php đa số xài mysql thì config như sau => lưu ý có 1 option 'options' => [PDO::ATTR_EMULATE_PREPARES => true] cực kì quan trọng nhớ thêm vào
  3. Phương pháp ăn liền gặp đâu đái đấy! nhầm,, xử đấy. => Thử gõ thêm /public/ phía sau url xem nếu work thì copy 2 file index.php.htaccess ra ngoài. => bonus: nếu lười có thể copy 2 file đấy ở này .htaccess index.php

    => Thêm /public/ phía sau mà ra này thì chịu luôn. Nói chớ bật debug mode = true lên giùm cái chứ sao mà biết nó lỗi gì!

    => Chưa set app key trong config/app.php

    => Chưa config/config sai database trong config/database.php

    => Thiếu option trong config db 'options' => [PDO::ATTR_EMULATE_PREPARES => true]

    => Chưa import data cho database.

    => các lỗi còn lại có liên quan đến thư mục vender (up thiếu file trong này rồi up lại vender thôi) hoặc syntax lạ -> thường là do k tương thích phiên bản php, các bạn check bằng cách new 1 file info.php trong public_html của host rồi phpinfo làm tương tự với local của bạn check xem 2 phiên bản php có cùng nhau không hoặc bạn nâng php trên host lên hoặc hạ laravel xuống!

Nếu có khó khăn gì trong quá trình fix bug vui lòng để lại comment để được support ^^!