Đưa project laravel lên hosting

    Như các bạn đã biết, nếu dùng vps thì chúng ta sẽ có toàn quyền như trên máy tính của mình, có thể tùy chỉnh, chạy lệnh ssh rất dễ dàng. Nhưng trên hosting bạn bị giới hạn một số quyền, chỉ được sử dụng các chức năng mà nhà cung cấp cho phép, nên việc thiết lập project trên hosting có một chút khó khắn.

1. Các bước cơ bản

  • Nén code project vào một file .zip
  • Upload file đó lên hosting, nếu dùng cpanel bạn vào phần File manager rồi chọn file, upload và giải nén vào thư mục public_html
  • Tạo symbolic link cho thư mục public_html trỏ sang thư mục public của project
  • Đặt chmod cho thư mục storage

2. Các cách tạo symbolic link trên hosting

2.1. Tạo bằng cronjob

Vào phần cronjob nếu bạn dùng cpanel.

image

Bạn chọn thời gian chạy cronjob đủ ngắn, và nhập lệnh tạo symbolic link vào phần command.
Sau khi nó đã chạy 1 lần thì bạn nên xóa cronjob đó đi.

2.2. Tạo symbolic link bằng PHP

bạn có thể dùng code PHP để tạo symbolic link

<?php

    $target = '/../public';
    $shortcut = '/../public_html';
    symlink($target, $shortcut);

?>



viết đoạn code trên vào 1 file trên hosting, sau đó chạy file này bằng trình duyệt (domain.com/symbolic.php)

2.3. Không cần tạo symbolic link

  • Copy file index.php và .htaccess trong thư mục public của dự án ra bên ngoài, ngang hàng với thư mục php
  • sửa file .htaccess như hình dưới

image

  • Sửa file index.php: dòng 24:
require __DIR__.'/../vendor/autoload.php';
thành 
__DIR__.'/vendor/autoload.php';
  • dòng 38: 
$app = require_once __DIR__.'/../bootstrap/app.php';
thành 
$app = require_once __DIR__.'/bootstrap/app.php';

Với cách làm này bạn sẽ không cần tạo symblic link từ public/storage cho các file trong thư mục storage (thường các file upload).

Bài viết của pinlaz.com