为什么我的文件系统路径在本地机器上和在 VPS 上托管时不同?
Why are my filesystem paths differing in local machine and when hosted on VPS?
我在我的控制器中进行了一些存储操作,这是在我的本地机器上运行的代码:
Storage::copy('public/filename.pdf', 'public/sub_directory/filename_'.$var.'.pdf');
Storage::delete('public/filename.pdf');
使用这段代码,我成功地复制了 laravel_root/storage/app/public/
中的文件,然后将文件复制并重命名为 laravel_root/storage/app/public/subdirectory/
,复制后 public/
中的文件被删除手术。这适用于我的本地机器。
当我将代码推送到登台服务器时,以上路径不起作用,我得到 ERROR: No such file or directory
。
我通过将在本地机器上工作的路径更改为 :
来实现这个工作
Storage::copy('filename.pdf', 'subdirectory/filename_'.$var.'.pdf');
Storage::delete('job_card.pdf');
我不得不从操作中删除 public/
。
我的问题是 - 为什么这在本地机器和推送到服务器时会有所不同?
我在本地机器上的 macOS 上是 运行,在登台服务器上是 ubuntu 16。我没有更改任何配置文件。
我会说这与您的文件系统配置有关。
在 config/filesystems.php
中查找磁盘的根目录。
'disks' => [
'local' => [
'driver' => 'local',
'root' => storage_path('app'),
],
'public' => [
'driver' => 'local',
'root' => storage_path('app/public'),
'visibility' => 'public',
],
's3' => [
'driver' => 's3',
'key' => 'your-key',
'secret' => 'your-secret',
'region' => 'your-region',
'bucket' => 'your-bucket',
],
],
本地是storage_path('app')
,public是storage_path('app/public')
我在我的控制器中进行了一些存储操作,这是在我的本地机器上运行的代码:
Storage::copy('public/filename.pdf', 'public/sub_directory/filename_'.$var.'.pdf');
Storage::delete('public/filename.pdf');
使用这段代码,我成功地复制了 laravel_root/storage/app/public/
中的文件,然后将文件复制并重命名为 laravel_root/storage/app/public/subdirectory/
,复制后 public/
中的文件被删除手术。这适用于我的本地机器。
当我将代码推送到登台服务器时,以上路径不起作用,我得到 ERROR: No such file or directory
。
我通过将在本地机器上工作的路径更改为 :
来实现这个工作Storage::copy('filename.pdf', 'subdirectory/filename_'.$var.'.pdf');
Storage::delete('job_card.pdf');
我不得不从操作中删除 public/
。
我的问题是 - 为什么这在本地机器和推送到服务器时会有所不同?
我在本地机器上的 macOS 上是 运行,在登台服务器上是 ubuntu 16。我没有更改任何配置文件。
我会说这与您的文件系统配置有关。
在 config/filesystems.php
中查找磁盘的根目录。
'disks' => [
'local' => [
'driver' => 'local',
'root' => storage_path('app'),
],
'public' => [
'driver' => 'local',
'root' => storage_path('app/public'),
'visibility' => 'public',
],
's3' => [
'driver' => 's3',
'key' => 'your-key',
'secret' => 'your-secret',
'region' => 'your-region',
'bucket' => 'your-bucket',
],
],
本地是storage_path('app')
,public是storage_path('app/public')