Laravel Türkiye Discord Kanalı Forumda kod paylaşılırken dikkat edilmesi gerekenler!Birlikte proje geliştirmek ister misiniz?

laravel 10 jetstream livewire ile proje geliştiriyorum.php artisan storage:link yapılınca public dizinine kısayol oluşuyor ama resimler gelmiyor.storage/app/xxx klasörü oluşuyor ve fotoğraflar oradan erişiliyor aynı şekilde databasede ilgili sütünda linkler oluşuyor.sayfa kaynağında örneğin http://127.0.0.1:8000/storage/images/fcrDOBCpYB8bzriyOll2W5Wga0RdNdup1nhgwfB0.jpg linki 404 not found veriyor. birkaç kez storage kısayolunu silip tekrar oluşturdum ama sorun çözülmedi.yardımcı olacak var mı ?

  • mgsmus bunu yanıtladı.
  • abdulkadirbinan Benim verdiğim şekilde dosya yolu düzgün oluşuyor mu? İsterseniz bir tanesini storage içindeki yolu ile public içindeki yolunu yazıp karşılaştırın.

    public/storage/images/1.jpg şeklinde bir dosyanın fiziksel yolu varsayılan ayarlarla public disk için storage/app/public/images/1.jpg şeklinde olur. Bu şekilde oluşmuyorsa ya disk ayarları yanlış ya da yanlış disk kullanıyorsunuz demektir.

    Bir de her ihtimale karşı önce php artisan optimize:clear çalıştırın.

    .env dosyani kontrol et app_url doğru mu ondan bilr yapar

      koti42 APP_URL=http://localhost bu şekilde hocam. ilk defa yaşadım bu sorunu laravel9 ile bir çok proje geliştirdim canlıya da aldım.bir şey farkettim laravel10 yükleme ekranı biraz değişmişti yeni birkaç proje oluşturdum livewire kurulumu yapılırken ben php artisan storage:link demeden kurulum esnasında kendisi oraya kısayol ekliyor ondan olabilir mi ?

        Normal olarak ulaşmayı dene o resime mesela 127.0.0.1:8000/storage/Resim.jpg bu şekilde açılıyor mu sonra resmi ekrana bastiysan inspect den linki bir kontrol et doğru oluşmuş mu Mustafa abinin dediği gibi config içinde ki filesystems'e bak local mi normalde böyle olması gerekiyor

        'default' => env('FILESYSTEM_DISK', 'local'), local için tabi bu

        Disk için de böyle olacak.

        'public' => [
        'driver' => 'local',
        'root' => storage_path('app/public'),
        'url' => env('APP_URL').'/storage',
        'visibility' => 'public',
        'throw' => false,
        ],
        https://laravel.com/docs/10.x/filesystem#the-local-driver

          mgsmus sorunuzu tam anlamadım kontrol ettim storage/app/icon veya storage/app/images oluşmuş.Biri proje iconu için diğeri slider için mesela.
          conf/filesystem bu şekilde
          'links' => [
          public_path('storage') => storage_path('app/public'),


          ],

          index içinde ise bu şekilde çağırıyorum {{Storage::url($rs->image)}}. işe yaramadı. {{asset('storage/'.$rs->image)}} bu şekilde denedim yine olmadı

          koti42 teamviewer var foruma biraz yabancıyım PM gibi bir şey var mı nasıl ulaşacağım

            @mgsmus abi kontrol ettim symlink yoktu onu yaptım link yanlış verildiydi onu hallettim ama php artisan:serve ile sunucu ayağa kalktığı için büyük ihtimalle resimi ondan çekemiyor diye düşünüyorum

              koti42 daha önce geliştirdiğim laravel9 projesini çalıştırdım serve ile orada bıraktığım gibi gibi symlink çalışıyor sanırım projeyi o projenin içine taşıyacağım 😃

                abdulkadirbinan Ben bir şeyi gözden kaçırdım sanırım abdul app içerisindeydi storage/public olarak ilerlemesi gerekiyor aslında filesystems içini bir tekrar kontrol et sen

                  koti42
                  'public' => [
                  'driver' => 'local',
                  'root' => storage_path('app/public'),
                  'url' => env('APP_URL').'/storage/app',
                  'visibility' => 'public',
                  'throw' => false,
                  ],
                  buradaki 'url' => env('APP_URL').'/storage/app', kısmında mı bahsediyorsun böyle yaptım ama yine çalışmadı

                  koti42

                  storage/app/public/images/1.jpg > public/storage/images/1.jpg

                  şeklinde bir yol oluşmuş olması lazım. Bunun için de config/filesystems.php içinde 'default' => 'public' ya da .env kullanıyorsanızFILESYSTEM_DRIVER=public ekleyeceksiniz ya da dosya yüklersen disk olarak elle public vereceksiniz.