Script Sh et PHP

WRInaute impliqué
Bonjour,

Après de multiples tests et ne connaissant rien en script SH, je n'arrive pas à exécuter un tout petit script SH avec PHP. Si une âme charitable pouvait m'aider, je la remercie d'avance.

Voici le script :

Code:
#!/bin/bash
#### La ligne en dessous est fausse, mais je ne sais pas comment l'exécuter. Les lignes d'après, je me suis inspiré d'un site trouvé sur le net.
#vncserver :1 -geometry 1280x980 -depth 24
export DISPLAY=":1"
iceweasel --display :1 "$1" > /dev/null 2> /dev/null &
/bin/sleep 10
scrot -display=:1 /home/"$2"


A noter que ce script marche en ligne de commande que l'on exécute sous la forme :

./screenshot.sh http://www.site.com/ ~/xxx.png


Pour mon php, donc j'ai fait comme ceci :

Code:
exec("/home/screenshot.sh http://www.site.com xxx.png");

Je pense que là aussi, ce n'est pas bon. Mais je n'ai pas trouvé ce qu'il fallait modifier.

Dans mes logs apache, si j'exécute mon script j'ai :
No protocol specified
giblib error: Can't open X display. It *is* running, yeah?

J'ai mis une semaine à faire marcher en ligne de commande une solution pour générer des images (pas réussi avec xorg ou xvfb)et une fois que je réussi, impossible de l'exécuter sous PHP. C'est rageant.
 
WRInaute accro
Excuse moi si je vais dire une bêtise mais pourquoi passer par du shell pour générer des images alors qu'avec les fonctions GD de php, cela se fait très bien puisque tu pars à l'origine, d'un script php, pourquoi rajouter une couche shell??!! 8O
 
WRInaute impliqué
Malheureusement, GD ne permet pas de faire des vignettes de sites. Il faut absolument un couple serveur X + navigateur web (d'autres solutions existent mais elles sont encore plus complexes mais le principe est le même).

Donc pour mon script PHP, si je veux générer une vignette d'un site distant, j'ai besoin de ce script Sh qui va me générer une image en 1280x980 px. Après, il y aura retouche de l'image avec la librairie GD pour la miniaturiser.
 
WRInaute impliqué
Tout simplement parce que j'ai passé du temps à faire cette installation, que je n'aime pas être dépendant d'autres services (qui peuvent tomber en panne), que je ne souhaite pas m'inscrire ou mettre un lien pour ces sites pour utiliser leur service...

Très clairement, j'ai un serveur, autant l'utiliser et j'aime avoir la main sur les outils que j'utilise. Mon script marche en ligne de commande, il me faut simplement l'interfacer avec php, mais je ne sais pas faire.

Et puis, en essayant de faire cette installation, j'ai fait beaucoup de recherches et à chaque fois que je lisais des topics sur le net avec une demande pour des infos sur ce type d'installation, à chaque fois il y avait le même type de réponse à savoir, utilise un service existant. C'est une solution de facilité j'en conviens, mais sur le long terme nous ne savons pas ce que ces outils deviendront ou comment ils évolueront (modèle payant, limitations...). Ce n'est donc pas viable d'utiliser ce type de service dans mon cas, trop d'incertitudes.
 
Nouveau WRInaute
EDIT
Pardon pour le up, étant donné qu'on était le 31 janvier, le sujet me paraissait d'actualité, j'avais oublié qu'on était déjà en 2011.
__________________________

Et je te comprends tout à fait Rogers !

J'ai le même soucis, ce tout petit No Protocol qui m'empêche d'avoir des captures de sites rapides depuis mon propre serveur. Tout marche en commande locale (sur mon portable). Passé en SSH sur le serveur, ça m'affiche cette erreur. Je continue d'essayer des trucs, je te tiendrai au courant si je trouve et je suivrai avec grande attention ce sujet.

Ça n'a pas de raison de ne pas fonctionner. C'est faisable, c'est juste une erreur. On va bien finir par trouver comment le spécifier ce protocole ! :D
 

➡️ Offre MyRankingMetrics ⬅️

pré-audit SEO gratuit avec RM Tech (+ avis d'expert)
coaching offert aux clients (avec Olivier Duffez ou Fabien Faceries)

Voir les détails ici

coaching SEO
Discussions similaires
Haut