Bonjour je vous ecris afin d'avoir une aide. J'ai conçu un site de blog avec laravel qui fonctionne très bien en local. Mais lors de la mise en production les images d'articles stockées auparavant en local affichent. Cependant en ligne, les enregistrements d'articles fonctionnent sauf pour les images. Pourtant j'ai modifié le fichier .env

Entourez votre code en utilisant "```" pour bien le mettre en forme. (ne copiez pas trop de code)

Ce que je veux

Décrivez ce que vous cherchez à obtenir.

Ce que j'obtiens

Décrivez vos éventuelles erreurs ou ce que vous obtenez à la place de ce que vous attendez :(

4 réponses


popotte
Réponse acceptée

Hello :)

Tu peux montrer ton fichier .env? ( /!\ N'oublies pas de supprimer les données persos genre mots de passe et clés api et aussi le champ APP_KEY avant de poster ici)

Et comment tu héberges les images, où tu as hébergé le site Laravel?

LeDorrho
Auteur

Voici le contenu du fichier .env


APP_ENV=production
APP_KEY=
APP_DEBUG=true
APP_TIMEZONE=UTC
APP_URL=http://localhost

APP_LOCALE=en
APP_FALLBACK_LOCALE=en
APP_FAKER_LOCALE=en_US

APP_MAINTENANCE_DRIVER=file
APP_MAINTENANCE_STORE=database

BCRYPT_ROUNDS=12

LOG_CHANNEL=stack
LOG_STACK=single
LOG_DEPRECATIONS_CHANNEL=null
LOG_LEVEL=debug

DB_CONNECTION=mysql
DB_HOST=127.0.0.1
DB_PORT=3306
DB_DATABASE=
DB_USERNAME=
DB_PASSWORD=

SESSION_DRIVER=database
SESSION_LIFETIME=120
SESSION_ENCRYPT=false
SESSION_PATH=/
SESSION_DOMAIN=null

BROADCAST_CONNECTION=log
FILESYSTEM_DISK=local
QUEUE_CONNECTION=database

CACHE_STORE=database
CACHE_PREFIX=

MEMCACHED_HOST=127.0.0.1

REDIS_CLIENT=phpredis
REDIS_HOST=127.0.0.1
REDIS_PASSWORD=null
REDIS_PORT=6379

MAIL_MAILER=smtp
MAIL_HOST=
MAIL_PORT=
MAIL_USERNAME=
MAIL_PASSWORD=
MAIL_ENCRYPTION=tls
MAIL_FROM_ADDRESS=
MAIL_FROM_NAME="${APP_NAME}"

AWS_ACCESS_KEY_ID=
AWS_SECRET_ACCESS_KEY=
AWS_DEFAULT_REGION=us-east-1
AWS_BUCKET=
AWS_USE_PATH_STYLE_ENDPOINT=false

VITE_APP_NAME="${APP_NAME}"  ```  

Je l'ai hebergé sur LWS

Ok je vois, alors il faut que tu ajoutes le champ ASSET_URL pour que ça fonctionne, et en valeur tu ajoutes l'url de base de ton hebergeur d'images

APP_ENV=production
APP_KEY=
APP_DEBUG=true
APP_TIMEZONE=UTC
APP_URL=http://localhost
ASSET_URL=https://base-url.com/

Par exemple tes images sont sur https://base-url.com/images/logo.png

Tu fait asset("images/logo.png") ça va récuperer le ASSET_URL puis ajouter le path pour retourner https://base-url.com/images/logo.png

Si ta base url n'est pas la même que l'url de ton projet (par exemple tu heberges l'image sur Cloudflare R2) dans ce cas faudra penser à configurer le CORS depuis ton projet et depuis l'hébergeur d'images

LeDorrho
Auteur

Hello Merci.
Au niveau de l'url de base de mon hebergeur. Je suis sur LWS et lorsque je me met dans mon cpanel et que je prend l'URL cela ne fonctionne pas.
""APP_NAME=Laravel""
""APP_ENV=production""
""APP_KEY=""
""APP_DEBUG=true""
""APP_TIMEZONE=UTC""
""APP_URL=http://localhost""
""ASSET_URL=https://web46.lws-hosting.com:2083/cpsess4634726988/frontend/jupiter/filemanager/home/c2347570c/""