生产上有一些问题。具体来说,我在共享主机cPanel上部署了Laravel项目,我将项目保存在根文件夹中,Laravel的公用文件夹保存在public_html中,当我运行PHP artisan storage:link时,它会在myfolder/public中创建一个存储文件夹的符号链接,但我希望它放在public_html中
我该怎么做?
您可以通过cli创建自定义符号链接!
将cd复制到laravel项目目录,并运行以下命令
ln -sr storage ../public_html/storage
这将在public_html文件夹中创建存储文件夹的符号链接。
一个解决方案可能是制作一个自定义artisan命令,类似于storage\u custom:link
并复制原始storage:link
comamnd的内容,然后根据需要更改路径。在这里,您可以在Laravel中看到原始的storage:link
命令。
class StorageLinkCommand extends Command
{
/**
* The console command signature.
*
* @var string
*/
protected $signature = 'storage:link';
/**
* The console command description.
*
* @var string
*/
protected $description = 'Create a symbolic link from "public/storage" to "storage/app/public"';
/**
* Execute the console command.
*
* @return void
*/
public function handle()
{
if (file_exists(public_path('storage'))) {
return $this->error('The "public/storage" directory already exists.');
}
$this->laravel->make('files')->link(
storage_path('app/public'), public_path('storage')
);
$this->info('The [public/storage] directory has been linked.');
}
}