Dites, les mammeeks,
Pourquoi mon script m'ennuie, en français ? 😳 #question #PHP

@Reka Je ne pratique pas php mais a la lumiere des erreurs, ton script php ne peux acceder au fichier.

Je pense que tu devrais ecrire le chemin du fichier relativelement au dossier racine de ton serveur web.

Si le dossier est /var/www/html

Essaie de rajouter tests/convertImg dans le chemin de fichiers en ligne 12.

@Reka
Sinon si tu veux ecrire le le chemin de maniere relative a au fichier index, tu devrais utiliser la constante __DIR__
secure.php.net/manual/en/langu

Ce serait qqchose du genre:
__DIR__ . 'ImgBefore/photo.jpg'

@entuall
A priori, pas d'adresse relative foireuse, j'ai vérifié 20 fois. Pas de prob de droit non plus, je crois...

@alfajet
Merci, je vais tester avec __DIR__.
Ce qui me pertube, c'est que (comme une parfaite noob,) j'ai plus ou moins emprunté ce script qui chez un tiers fonctionne parfaitement
youtube.com/watch?v=IJJxSDionV
(ok, il est sous Windows, mais est-ce bien une raison ?)

@Reka
C'est une supposition mais je pense que le chemin tel qu'il est renseigné est relatif au dossier de base du serveur web ($_SERVER['DOCUMENT_ROOT'])

Dans son cas le script php est sans doute dans le dossier racine alors que le tien es dans un sous-dossier.

Soit tu reecris le chemin a partir du dossier racine ou tu utiliser la constante __DIR__ pour avoir le dossier du script en cour et contruire le chemin a partir de ce point.

Je ne pense pas que l'OS soit en cause.

@entuall

@alfajet @entuall

en réécrivant la ligne 14 comme suit :
convertImage( __DIR__.'/imgBefore/photo.jpg', __DIR__.'/imgAfter/photo.jpg', "100", "100", 90);

J'ai précisément la même erreur et le même comportement que précédemment...

@Reka
pb de droits?
que retourne ls -la sur le dossier imgBefore?

Il faut que le daemon de ton server web ait bien les bons acces au fichier

@entuall

@alfajet
Mon système de fichiers était sensible à la casse et il me reste une erreur

imagejpeg(/var/www/html/tests/convertImg/imgafter/photo.jpg): failed to open stream: Permission denied in /var/www/html/tests/convertImg/index.php on line 9

donc il reste à faire un truc au niveau de mon système Unix pour ouvrir les permissions et donner des droits root à reka sur le dossier var/www/html. Je vais trouver.
Merci beaucoup pour les réflexions et pistes, Alfajet !

mastodon.social/@kruy/10072467

@Reka je ne suis pas de la partie mais ce ne serait pas plus sûr d'avoir un user "script (reka)" et de lui donner les droits sur le répertoire contenant les images?
Sans étendre les droits root à tout?
@alfajet

@EllerinPrv Si, c'est bien sûr plus prudent.
Je suis une barbare 🤓
@alfajet

@Reka
Si ce script php est executé via un serveur http, il faut s'assurer le serveur web ait bien les acces. En supposant que ce soit le groupe www-data, tu devrais considerer chggrp www-data @EllerinPrv

@alfajet @EllerinPrv

En l'état en tout cas ça fonctionne toujours pas (cf. capture en image) 😩

C'est quoi la commande bash attendue pour arriver à mes fins ?
(désolée pour le surdérangement, j'ai honte)

@Reka @EllerinPrv
fait un ls -la sur le dossier convertImg pour voir aussi les droits sur le ficher image.

@alfajet @EllerinPrv

Oui c'est ce que j'étais en train de faire.
J'ai une macédoine de fruits au niveau du chown

@Reka @EllerinPrv
DANS le dossier imgbefore stp car c'est surement au niveau du fichier photo.jpg que ca coince

@Reka pas de soucis :)
Bon a priori tout le monde peut lire ce fichier ton erreur ne viendrait pas de la.

Peux tu poster tes derniers msg d'erreur?

Je suppute que php ne peux pas ecrire dans le dossier de destination

Peut etre que tu peux essayer de changer le groupe de ce dossier
chgrp www-data imgafter

Et de donner les droits en ecriture
chown g+w imgafter

@alfajet le script en tant que tel ne me renvoie rien, il s'exécute en page blanche.
L'error.log est en pièce jointe

Et le résultat est le même après les deux actions que tu proposes(chgrp et chown g+w).

Je vais voir comment ça réagit sur mon hébergement online et puis j'arrête pour ajd avec ce souci casse-pieds... (je t'invite à abdiquer aussi :D !)

Encore merci pour toute ton aide.

@Reka
Si il y a un changement par rapport au 1er log: avant tu avais une erreur sur la ligne 4 (pb pour ouvrir la source) maintenant c'est sur la ligne 9.

Donc ton script ne peux ecrire dans le dossier de dest.

Si c'est un serveur de test tu peux toujours faire un chown +w qui donne les droits en ecriture a tout le monde dans un 1er temps pour valider le pb.
1/2

@Reka
Ensuite le pb fondamental est qu'on ne sait pas quel user & group execute ton script php. Une fois que ce point est eclairci, tu pourras ajuster les droits en consequence.

J'arrete la aussi :)

2/2

@alfajet CORRECTION
depuis les modifs, il me pète une erreur dans l'error.log mais il m'a enregistré le fichier dans imgafter !!
Merci !!!

@EllerinPrv (Je changerai tout via Filezilla quand ce sera en ligne, pas de panique 🙃 )

Sign in to participate in the conversation
Mastodon

Generalistic and moderated instance. All opinions are welcome, but hate speeches are prohibited. Users who don't respect rules will be silenced or suspended, depending on the violation severity.