图像不会上传到Laravel Project中的public_html文件夹

问题描述 投票:0回答:2

当我尝试将图像上传到我的网站时,它存储在我的存储文件夹中,但是,符号链接不起作用,因此它不会将其保存在我的public_html文件夹中。我已经尝试使用自定义符号链接php文件,但它似乎没有做任何事情。

我的symlinkcreate.php文件

<?php
symlink('/home/jackdeaz/nscraft/storage/app/public', '/home/jackdeaz/public_html/storage');

我的Filesystems.php文件

'default' => env('FILESYSTEM_DRIVER', 'local'),

'disks' => [

        'local' => [
            'driver' => 'local',
            'root' => storage_path('app'),
        ],

        'public' => [
            'driver' => 'local',
            'root' => storage_path('app'),
            'url' => env('APP_URL').'/storage',
            'visibility' => 'public',
        ],

        's3' => [
            'driver' => 's3',
            'key' => env('AWS_ACCESS_KEY_ID'),
            'secret' => env('AWS_SECRET_ACCESS_KEY'),
            'region' => env('AWS_DEFAULT_REGION'),
            'bucket' => env('AWS_BUCKET'),
            'url' => env('AWS_URL'),
        ],

    ],

这就是我上传图片的方式

$request->file('image_url')->store('public/img/products');

任何帮助将不胜感激!

php laravel-5 cpanel
2个回答
0
投票

正如@MorganTouvereyQuilling here所解释的那样:

  1. 查找Web服务器用户名。如果您使用的是Apache,请使用该命令行:
ps aux | grep -E '[a]pache|[h]ttpd|[_]www|[w]ww-data|[n]ginx' | grep -v root | head -1 | cut -d\  -f1
  1. 授予Web服务器权限(chmod,chown)

注意:执行666或777的chmod就足够了,但是不安全。授予666或777权限将允许访问“其他人”。最好是更准确,并给予你和Apache的权限。


0
投票

这可能肯定是权限问题。您的(a)Web服务器(例如nginx),PHP进程管理器(php-fpm)正在使用哪些权限。理想情况下,这些应该是相同的,并且他们试图存储文件的导演应至少具有相同的组权限(例如775)。