Через 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');
});