Через FTP клиент переношу файлы сайта таким образом...
Все папки в корень на одном уровне с папкой “public_html” в папку “public_html” переносим содержимое папки “public”
В файле index.php меняем путь public_path() для “public_html”, для этого дописываем после объявления $app;
Copy $app -> bind ( 'path.public' , function () {
return base_path () . '/public_html' ;
} ) ;
Так же желательно прописать путь к public_html в настройках vite.config.js
Copy import { defineConfig } from 'vite' ;
import laravel from 'laravel-vite-plugin' ;
export default defineConfig ({
build : {
outDir : './public_html/build' // Добавляем путь для билда
} ,
plugins : [
laravel ({
input : [ 'resources/css/app.css' , 'resources/js/app.js' ] ,
refresh : true ,
publicDirectory : '/public_html' , // указываем путь до public_html
})
] ,
server : {
hmr : {
host : 'localhost'
} ,
port : 3000 ,
host : '0.0.0.0' ,
} ,
});
и в настройках elfinder прописываем пути через public_path()
Copy return array (
'dir' => [ 'upload' ] ,
'disks' => [] ,
'route' => [ 'prefix' => 'elfinder' , 'middleware' => null , ] ,
'access' => 'Barryvdh\Elfinder\Elfinder::checkAccess' ,
'roots' => null ,
'options' => array (
'roots' => array( array( 'driver' => 'LocalFileSystem', 'path' => public_path(), 'URL' => public_path() ), ) ),
'root_options' => array () ,
);
Путь для сохранения картинок будет такого вида-/home/f0634421/domains/f0634421.xsph.ru/public_html
загруженная картинка будет доступна по ссылке такого вида - http://f0634421.xsph.ru/upload/photo1638904712.jpeg
Simlink
Можно создать simlink (символическую ссылку для сторедж в публичную папку) без консоли, просто определив роут в котором пропишем команду, и перейдём по его адресу:
Copy Route :: get ( '/foo' , function () {
Artisan :: call ( 'storage:link' ) ;
} ) ;