Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/274.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/laravel/10.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
在执行PHP artisan storage:link时,如何更改symlink文件夹的位置?_Php_Laravel_Laravel 5 - Fatal编程技术网

在执行PHP artisan storage:link时,如何更改symlink文件夹的位置?

在执行PHP artisan storage:link时,如何更改symlink文件夹的位置?,php,laravel,laravel-5,Php,Laravel,Laravel 5,生产上有一些问题。 具体来说,我在共享主机cPanel上部署了Laravel项目,我将项目保存在根文件夹中,Laravel的公用文件夹保存在public_html中,当我运行PHP artisan storage:link时,它会在myfolder/public中创建一个存储文件夹的符号链接,但我希望它放在public_html中 我该怎么做呢?一个解决方案是制作一个自定义artisan命令,类似于storage\u custom:link并复制原始storage:linkcomamnd的内容,

生产上有一些问题。
具体来说,我在共享主机cPanel上部署了Laravel项目,我将项目保存在根文件夹中,Laravel的公用文件夹保存在public_html中,当我运行PHP artisan storage:link时,它会在myfolder/public中创建一个存储文件夹的符号链接,但我希望它放在public_html中


我该怎么做呢?

一个解决方案是制作一个自定义artisan命令,类似于
storage\u custom:link
并复制原始
storage:link
comamnd的内容,然后根据需要更改路径。在这里,您可以在Laravel中看到原始的
storage:link
命令

class StorageLinkCommand扩展命令
{
/**
*控制台命令签名。
*
*@var字符串
*/
受保护的$signature='存储:链接';
/**
*控制台命令说明。
*
*@var字符串
*/
受保护的$description='创建从“public/storage”到“storage/app/public”的符号链接';
/**
*执行控制台命令。
*
*@返回无效
*/
公共函数句柄()
{
如果(文件存在(公共路径(“存储”)){
返回$this->error('public/storage'目录已经存在');
}
$this->laravel->make('files')->link(
存储路径(“应用程序/公共”),公共路径(“存储”)
);
$this->info(“[public/storage]目录已链接”);
}
}

一个解决方案可能是制作一个自定义artisan命令,类似于
存储\自定义:链接
并复制原始
存储:链接
comamnd的内容,然后根据需要更改路径。在这里,您可以在Laravel中看到原始的
storage:link
命令

class StorageLinkCommand扩展命令
{
/**
*控制台命令签名。
*
*@var字符串
*/
受保护的$signature='存储:链接';
/**
*控制台命令说明。
*
*@var字符串
*/
受保护的$description='创建从“public/storage”到“storage/app/public”的符号链接';
/**
*执行控制台命令。
*
*@返回无效
*/
公共函数句柄()
{
如果(文件存在(公共路径(“存储”)){
返回$this->error('public/storage'目录已经存在');
}
$this->laravel->make('files')->link(
存储路径(“应用程序/公共”),公共路径(“存储”)
);
$this->info(“[public/storage]目录已链接”);
}
}

您可以通过cli创建自定义符号链接

将cd复制到laravel项目目录,并运行以下命令

ln -sr storage ../public_html/storage 


这将在公用html文件夹中创建存储文件夹的符号链接

您可以通过cli创建自定义符号链接

将cd复制到laravel项目目录,并运行以下命令

ln -sr storage ../public_html/storage 


这将在公用html文件夹中创建存储文件夹的符号链接

“我将我的项目保存在根文件夹中,而Laravel的公用文件夹保存在public_html中”你实际上做了什么?你刚刚把你的laravel应用程序的公共目录复制到你的公共html中了吗?或者在您的laravel/public和public\u htmlcopy公用文件夹内容之间创建符号链接到public\u HTMLLIS这是否有效?我的意思是,你可以通过点击url来运行你的应用程序吗?是的,它正在工作“我把我的项目保存在根文件夹中,而Laravel的公用文件夹保存在public_html中”你实际上做了什么?你刚刚把你的laravel应用程序的公共目录复制到你的公共html中了吗?或者在您的laravel/public和public\u htmlcopy公用文件夹内容之间创建符号链接到public\u HTMLLIS这是否有效?我的意思是你可以通过点击url来运行你的应用程序吗?是的,它正在运行Ankyu arm,我尝试了这个,这个返回符号链接():没有这样的文件或目录错误尝试删除使用storage:link创建的原始符号链接。另外,您是否可以演示如何根据需要编辑artisan存储命令?也许你的目录结构的截图会有用。谢谢。谢谢arm,我尝试了这个,这个返回symlink():没有这样的文件或目录错误尝试删除使用storage:link创建的原始symlink。另外,您是否可以演示如何根据需要编辑artisan存储命令?也许你的目录结构的截图会有用。非常感谢。