storage:link 无法托管 cPanel
storage:link not working on hosting cPanel
我用 php artisan storage:link
创建了一个存储 link,它在 localhost 上工作得很好,但是,当我在共享上部署我的项目时托管,它不呈现任何图像。这是我的托管目录结构:
- home2/username
: + other hosting folders
: - MyLaravelWebSite
: : + other_laravel_folders
: : - storage
: : : - app
: : : : - public
: : : : : -images
: : : : : : * some-image.jpg
: : : : * gitignore
: : : + framework
: : : + logs
: - public_html
: : + assets
: : + storage // symlink
: : * index.php
图像上传没有任何问题,但是当我尝试渲染它们时它们不渲染,而它们在本地主机上渲染得非常好。我认为 符号 link 不起作用。我怎样才能让它发挥作用?
P.s: 我在 cPanel 上没有任何 CLI 访问权限。
更新filesystems.php
'public' => [
'driver' => 'local',
'root' => public_path() . '/uploads',// upload file in public dir
'url' => env('APP_URL').'/uploads', // help to get Storage::url()
'visibility' => 'public',
],
将其放入 filesystems.php
然后您的所有文件将保存在 public/uploads
文件夹中
并获得 url 这个函数 Storage::disk('public')->url($dbImageUrl);
将起作用
如果您无法创建符号链接,那么这是用于 cpanel 的
您可以使用 PHP 和 Laravel 辅助方法来做同样的事情,只需 运行 这段代码一次(例如,将它添加到您的控制器中并调用一次)来创建存储link 手动:
use Illuminate\Support\Facades\File;
File::link(
storage_path('app/public'), public_path('storage')
);
尝试在您的 public 文件夹 (filename.php
) 中创建一个文件。添加代码并保存
$targetFolder = $_SERVER['DOCUMENT_ROOT'].'/storage/app/public';
$linkFolder = $_SERVER['DOCUMENT_ROOT'].'/public/storage';
symlink($targetFolder,$linkFolder);
echo 'Symlink process successfully completed';
浏览您创建的文件site.com/filename.php
来源:https://www.nicateliyev.com/en/post/how-create-symbolic-link-laravel-website-cpanel
我用 php artisan storage:link
创建了一个存储 link,它在 localhost 上工作得很好,但是,当我在共享上部署我的项目时托管,它不呈现任何图像。这是我的托管目录结构:
- home2/username
: + other hosting folders
: - MyLaravelWebSite
: : + other_laravel_folders
: : - storage
: : : - app
: : : : - public
: : : : : -images
: : : : : : * some-image.jpg
: : : : * gitignore
: : : + framework
: : : + logs
: - public_html
: : + assets
: : + storage // symlink
: : * index.php
图像上传没有任何问题,但是当我尝试渲染它们时它们不渲染,而它们在本地主机上渲染得非常好。我认为 符号 link 不起作用。我怎样才能让它发挥作用?
P.s: 我在 cPanel 上没有任何 CLI 访问权限。
更新filesystems.php
'public' => [
'driver' => 'local',
'root' => public_path() . '/uploads',// upload file in public dir
'url' => env('APP_URL').'/uploads', // help to get Storage::url()
'visibility' => 'public',
],
将其放入 filesystems.php
然后您的所有文件将保存在 public/uploads
文件夹中
并获得 url 这个函数 Storage::disk('public')->url($dbImageUrl);
将起作用
如果您无法创建符号链接,那么这是用于 cpanel 的
您可以使用 PHP 和 Laravel 辅助方法来做同样的事情,只需 运行 这段代码一次(例如,将它添加到您的控制器中并调用一次)来创建存储link 手动:
use Illuminate\Support\Facades\File;
File::link(
storage_path('app/public'), public_path('storage')
);
尝试在您的 public 文件夹 (filename.php
) 中创建一个文件。添加代码并保存
$targetFolder = $_SERVER['DOCUMENT_ROOT'].'/storage/app/public';
$linkFolder = $_SERVER['DOCUMENT_ROOT'].'/public/storage';
symlink($targetFolder,$linkFolder);
echo 'Symlink process successfully completed';
浏览您创建的文件site.com/filename.php
来源:https://www.nicateliyev.com/en/post/how-create-symbolic-link-laravel-website-cpanel