1

Je voudrais me faire un script pour me générer automatiquement une page de galerie photo à partir d'un répertoire de photos
mais pour générer les aperçus de photo, je pensais appeler convert et ça ne marche pas
j'ai essayé les fonctions system, exec, shell_exec avec ou sans escapeshellargs et escapeshellcmd , rien à faire
pourtant le safe_mode est désactivé (et d'ailleurs une commande simple genre ls marche très bien) et la syntaxe est correcte
j'ai aussi essayé de créer un script shell qui me contient juste la commande convert et de lancer ce script, rien à faire (pourtant quand je le lance moi-même dans un terminal, ça passe)
les droits sont corrects, vu que les fichiers se trouvent dans des répertoires créés par php (après vérification, les droits sont bien corrects)

comment résoudre ce pb ?
avatar
<<< Kernel Extremis©®™ >>> et Inventeur de la différence administratif/judiciaire ! (©Yoshi Noir)

<Vertyos> un poil plus mais elle suce bien quand même la mienne ^^
<Sabrina`> tinkiete flan c juste qu'ils sont jaloux que je te trouve aussi appétissant

2

c'est pas le PATH qui n'est pas assez complet pour autre chose que ton shell ?

3

là quel niveau ? tu voudrais dire qu'il ne trouve pas le programme convert ?
(pour les fichiers en arguments, les chemins sont absolus)
avatar
<<< Kernel Extremis©®™ >>> et Inventeur de la différence administratif/judiciaire ! (©Yoshi Noir)

<Vertyos> un poil plus mais elle suce bien quand même la mienne ^^
<Sabrina`> tinkiete flan c juste qu'ils sont jaloux que je te trouve aussi appétissant

4

C'est possible que ça soit ça.

Sinon tu peux toujours redimensionner en PHP avec la librairie GD, mais ça risque de ramer :/

Et tu n'as pas un code retour de la commande qui te permettrait de voir ou ça merde ?

5

Hum.. sous linux, je me suis fait un script python qui appelle un programme qui change la taille des images et ca marchait nickel...
Tu n'as pas un probleme genre les appels systeme sont banis ? temps d'execution du script...

6

nan, le script fini bien avant les 30s
et je ne vois pas pourquoi un 'ls' marcherait et pas un 'cp' ni un 'convert' (à part que les 2 derniers écrivent)
et dans la doc de php, ils parlent seulement de safe_mode (qui est bien désactivé chez moi)

et puis faire un script python, bof, je préfère que tout soit accessible via un browser web sad
avatar
<<< Kernel Extremis©®™ >>> et Inventeur de la différence administratif/judiciaire ! (©Yoshi Noir)

<Vertyos> un poil plus mais elle suce bien quand même la mienne ^^
<Sabrina`> tinkiete flan c juste qu'ils sont jaloux que je te trouve aussi appétissant

7

le script python, c ce que j'avais fait hein, je t'ai pas dit de faire pareil...
c'est tres bien le php...

mais tu pourrais faire
system("python mon_script.py")

8

j'ai essayé system('mon_script_shell') et ça ne marche pas mieux ... sad
avatar
<<< Kernel Extremis©®™ >>> et Inventeur de la différence administratif/judiciaire ! (©Yoshi Noir)

<Vertyos> un poil plus mais elle suce bien quand même la mienne ^^
<Sabrina`> tinkiete flan c juste qu'ils sont jaloux que je te trouve aussi appétissant

9

essaye avec:
system('mon_script_shell&')

10

Essaie aussi d'augmenter la valeur de memory_limit dans ton php.ini.

11

pourquoi t'utilises pas GD ? sur mon site j'ai fait comme ça: qd j'ajoute une (ou plusieurs) image(s) ds une galerie, a chq affichage il vérifie qu'il y a bien 2 fichiers (pr voir si yua deja un thumb), et si y'en a pas, il crée le thumb avec GD. le truc c'est que si t'ajoutes 300 images d'un coup, c'est mort (bcp trop long de générer autant d'images avec GD), mais moi c'est jamais le cas, donc faut voir ...
avatar

12

c'est super secure d'utiliser la commande system :x
A banir !

13

Peio :
pourquoi t'utilises pas GD ? sur mon site j'ai fait comme ça: qd j'ajoute une (ou plusieurs) image(s) ds une galerie, a chq affichage il vérifie qu'il y a bien 2 fichiers (pr voir si yua deja un thumb), et si y'en a pas, il crée le thumb avec GD. le truc c'est que si t'ajoutes 300 images d'un coup, c'est mort (bcp trop long de générer autant d'images avec GD), mais moi c'est jamais le cas, donc faut voir ...

en fait, ce c'est que j'ai fait il y a à peine 2 jours cheeky
avatar
<<< Kernel Extremis©®™ >>> et Inventeur de la différence administratif/judiciaire ! (©Yoshi Noir)

<Vertyos> un poil plus mais elle suce bien quand même la mienne ^^
<Sabrina`> tinkiete flan c juste qu'ils sont jaloux que je te trouve aussi appétissant

14

skweek :
c'est super secure d'utiliser la commande system :x
A banir !

bah en même temps, sur un serveur qui n'a pas accès au web, c'est pas très très grave cheeky
avatar
<<< Kernel Extremis©®™ >>> et Inventeur de la différence administratif/judiciaire ! (©Yoshi Noir)

<Vertyos> un poil plus mais elle suce bien quand même la mienne ^^
<Sabrina`> tinkiete flan c juste qu'ils sont jaloux que je te trouve aussi appétissant

15

Quelle idée de faire un serveur web pas sur le web roll

16

des tonnes de raisons

17

il me sert à développer le serveur qui sera sur le web, et je fais plus rapidement des scripts en php qu'en bash cheeky
avatar
<<< Kernel Extremis©®™ >>> et Inventeur de la différence administratif/judiciaire ! (©Yoshi Noir)

<Vertyos> un poil plus mais elle suce bien quand même la mienne ^^
<Sabrina`> tinkiete flan c juste qu'ils sont jaloux que je te trouve aussi appétissant

18

(C'est pas vraiment comparable, php et un script shell ^^ )

19

spectras > si, dans la mesure ou le résultat est le même tongue
avatar
<<< Kernel Extremis©®™ >>> et Inventeur de la différence administratif/judiciaire ! (©Yoshi Noir)

<Vertyos> un poil plus mais elle suce bien quand même la mienne ^^
<Sabrina`> tinkiete flan c juste qu'ils sont jaloux que je te trouve aussi appétissant

20

spectras > Non, mais c'est comparable avec un script perl tongue
Sinon, effectivement, je pense plutôt à un problème de path... ou plus bête d'utilisateur unix... vérifie que l'utilisateur apache soit bien capable de lancer ces commandes (par exemple, je voulais faire un système via une interface Web qui me permette de restaurer des sauvegardes sur un serveur, or Apache n'a pas les bons droits, donc dmc (ou alors j'ouvre mon système en grand). Sinon, pour ImageMagick, il existe MagickWand for PHP pour interfacer les outils dispos avec du PHP (mais je ne l'ai jamais utilisé, je sais juste que ça existe).
avatar

21

heu pourquoi ce n'est pas sécurisé d'utiliser la commande system?
Appriori si les arguments sont bien gérés il ne devrait pas y avoir de problème non?

22

C'est surtout quand la chaîne à exécuter est créée dynamiquement.
Et tu hérites des potentielles failles de sécurité des programmes exécutés.

23

C'est surtout quand la chaîne à exécuter est créée dynamiquement.

Tu peux toujours controler les paramètres qui servent à créer la chaîne, je vois pas le problème.
Et tu hérites des potentielles failles de sécurité des programmes exécutés.

A ce moment la tu as aussi les potentielles failles de sécu de l'os, de PHP, de Apache etc... On en sort plus.

24

Microbug :
A ce moment la tu as aussi les potentielles failles de sécu de l'os, de PHP, de Apache etc... On en sort plus.

Oui, mais moins il y a de failles, moins il y a de danger. Et il est plus facile de mettre à jour uniquement PHP en cas de problème plutôt que PHP et tous ces programmes externes.

25

Ah oui aussi autre détail qui peut être important : dans un environnement apache chrooté (essentiellement OpenBSD), l'utilisation de la fonction system suppose la présence d'un sh dans le chroot alors que normalement pas besoin.