Créer un portfolio de A à Z episode 4, problème sur serveur mutualisé

Par Nicks, il y a 12 ans


Bonjour,

J'ai posté ma question dans les commentaires de la vidéo, mais je pense que ce forum est plus approprié, voici le problème :

Bonjour, j'ai un petit problème avec le redimensionnement des images (vers 48:00 dans la vidéo).
Je précise que je réalise ce tuto sur un hébergement mutualisé OVH, que je suis en php5.4 et que phpinfo m'indique:"GD Support enabled" et "GD Version bundled (2.0.34 compatible)".

Malgré tout lorsque j'envoie une nouvelle image dans une réalisation, le thumbnail ne se créer pas et j'ai pour message d'erreur :
"Warning: imagejpeg(/homez.170/firehall/www/php/img/works/25_150x150.jpg): failed to open stream: No such file or directory in /homez.170/firehall/www/php/lib/image.php on line 63" (j'ai remplacé les dossiers racines par *path*, mais ils correspondent bien).
Et donc la ligne 63 de lib/image.php :
"case IMAGETYPE_JPEG: imagejpeg($image_resized, $output, 80); break;"

J'ai copié le site en local (avec Wampserver) et il n'y pas de problème, je suis donc quasi-sur que le problème vient de mon hébergement... Reste à savoir quelle est la solution... :/

J'ai téléchargé la source de lib/image.php et j'ai toujours la même erreur.

9 réponses

Ch0c4, il y a 12 ans

Je pense que tu t'es déjà posé la question, mais est-ce que ton dossier est disponible en écriture, un bon petit

chmod -R 777 /homez.170/firehall/www/php/img/

devrait faire l'affaire normalement

Nicks, il y a 12 ans

Merci pour ta réponse, j'ai effectivement vérifié les droits en écritures sur les dossiers. J'ai passé le dossier principal (comprenant l'appli) et les dossiers img et works en 755 (c'est le max sur un mutu ovh).

Sans succès, donc :(

Et puis les images qui ne passent pas par le script de redimension, sont bien transférées dans ce même dossier, donc je doute que ce soit un problème de chmod?

sylvain, il y a 12 ans

pareil meme probleme chez moi

Nicks, il y a 12 ans

Entretemps, j'ai posé la question à OVH, dont voici la réponse :

"C'est n,ormal que cette erreur s'affiche , vu que le fichier "25_150x150.jpg" n'existe pas dans le dossier "Workers".
Vous avez besoin, dans ce cas, de mettre a jour l'URL en question."

Voilà, voilà... On entend beaucoup de mal d'OVH ces derniers temps, voilà qui n'arrange rien.

Ch0c4, il y a 12 ans

As-tu tenter un opendir() sur le dossier en question pour voir ce qu'il te retourne, peut être un soucis au niveau du chemin que tu demande, j'ai pas vu le tuto mais fais des echo sur tes chemin pour voir.

sylvain, il y a 12 ans

J'ai peut etre un début de piste
c'est dans la variable output, un slash me manquait au début pour avoir le chemin complet

A la ligne 13 dans le fichier image.php au moment ou l'on définit le chemin vers l'image

$pathinfo = pathinfo(trim($file, '/')); 
devient    
$pathinfo = pathinfo(trim($file));
Louis Delavaux, il y a 12 ans

Bonsoir,
Je suis sur ce problème depuis ce matin c'est absolument horrible je suis à deux doigts de m'arracher les cheveux.
Dans le même cas que vous, chez OVH.
En suivant le conseil de Sylvain le redimensionnement s'effectue, mais ne s'affiche pas.
Sur mon index le lien de l'image est "../img/works//_150x150." rien ne s'affiche.
Quand je met le bon lien dans la barre d'adresse "../img/works/18_150x150.jpg" l'image redimensionné est là !
Mais impossible de savoir d'ou ça vient .. :(

Bahamut45, il y a 12 ans

Bonjour,

Hum dans ton exemple, il manque l'id de l'image non ?

Cordialement

Louis Delavaux, il y a 12 ans

C'est le nom de l'image qui manque, mais il est choisi en fonction de l'id. Et a chaque image il augmente de 1
Le soucis est que si on supprime une image l'id ne va pas suivre, il faut donc le nom de l'image

Code original :

<img src="<?= WEBROOT; ?>img/works/<?= resizedName($work'image_name'], 150, 150); ?>" alt="">