PHP\LAVEL中的符号链接存在问题 我正在直接管理上使用Laravel7。我实际上没有访问命令行/终端的权限,我需要一个存储的符号链接。

PHP\LAVEL中的符号链接存在问题 我正在直接管理上使用Laravel7。我实际上没有访问命令行/终端的权限,我需要一个存储的符号链接。,php,laravel,symlink,laravel-7,shared-hosting,Php,Laravel,Symlink,Laravel 7,Shared Hosting,我试过: Route::get('/foo', function () { Artisan::call('storage:link'); }); 而且: symlink('/domains/MyProject.com/LaravelFolder/storage/app/public', '/domains/MyProject.com/public_html'); 但我收到了这个错误: symlink() has been disabled for security reasons

我试过:

Route::get('/foo', function () {
    Artisan::call('storage:link');
});
而且:

symlink('/domains/MyProject.com/LaravelFolder/storage/app/public', '/domains/MyProject.com/public_html');
但我收到了这个错误:

symlink() has been disabled for security reasons
My LaravelFolder放在public_html之前


更新:我意识到托管公司禁用了此功能;我要求他们启用它,但他们说:这是不可能的。您知道另一种方法吗?

您可以修改
公用
磁盘的根路径以直接指向公用文件夹。考虑下面的代码片段;
/**/config/filesystems.php*/
“磁盘”=>[
// ...
“公共”=>[
“驱动程序”=>“本地”,
“根”=>公共路径(“存储”),
'url'=>env('APP_url')。/storage',
“可见性”=>“公共”,
],
// ...
],

请注意,这不是一个最佳实践。

但我最终解决了这个问题,它看起来有点愚蠢,但它是有效的:

在Ubuntu Linux中,我尝试使用以下命令创建一个符号链接,如Laravel中的存储符号链接:

ln -s ../laravelFolder/storage/app/public storage
然后我压缩了这个符号链接并上传到我的公共html文件夹,它就可以工作了。 我希望这会有帮助