Deploy Laravel Project on Shared Host (Plesk/cpanel)

Need to move core files to parent folder

Deploy Laravel 5 on shared hosting from Heart Internet

以ServerZoo cPanel為例

  • public資料夾要放在主網域或是子網域的根目錄
  • 其它檔案放在最上層的 laravel 資料
  • 修改 public/index.php 裡面的路徑
    範例: require __DIR__.’/../laravel/vendor/autoload.php’;
  • 一些隱藏檔可能會在檔案管理員裡面看不出來,但實際上是存在。
    只能在local修改好再上傳
  • 可能需要切換PHP版本到7.2以上 (大概需要30分鐘生效)
  • Symlink問題 (參考下方資訊)
  • proc_open 問題, Laravel某些功能需要
    cpanel似乎default是disable這個功能,而且在PHP options裡面不可修改
    結論: laravel的debug mode會用到這個功能,關掉就可以正常運作,只是如果要debug的話,只能看log

To Create Symlink
Add following script in index.php

//Create symlink
$target = '/home/origlife/laravel/storage/app/public';
$shortcut = 'storage';
symlink($target, $shortcut);

//Delete symlink
unlink('storage');

ResponsiveFilemanager設定也需要調整路徑

'upload_dir' => '/laravel/storage/app/public/media/',

'current_path' => '../../../laravel/storage/app/public/media/',

'thumbs_base_path' => '../../../laravel/storage/app/public/thumbs/',

'thumbs_upload_dir' => '/laravel/storage/app/public/thumbs/',