我一直在开发一个 laravel 应用程序,因此出于安全原因,我将所有公共文件放在位于 public_html 的基本文件夹中,而其他文件已放在 public_html/secondBase 中。
现在,当我执行命令时:php artisan storage:link出现以下错误。
ErrorException
symlink(): No such file or directory
at vendor/laravel/framework/src/Illuminate/Filesystem/Filesystem.php:265
261| */
262| public function link($target, $link)
263| {
264| if (! windows_os()) {
> 265| return symlink($target, $link);
266| }
267|
268| $mode = $this->isDirectory($target) ? 'J' : 'H';
269|
我厌倦了下面的解决方案
<?php
namespace App\Providers;
use Illuminate\Support\ServiceProvider;
public function register()
{
$this->app->bind('path.public', function() {
return base_path() . '/public_html/base';
});
}
我尝试过的第二种方法是制作文件symlink.php,但图像仍然损坏。
符号链接.php
<?php
symlink('/home/hmm/public_html/secondBase/storage/app/public','/home/hmm/public_html/base/storage');
最后我在出现第一个错误的地方做了这条路线。
Route::get('/clear', function () {
Artisan::call('route:clear');
Artisan::call('storage:link', [] );
});
谢谢你的帮助。