JeuWeb - Crée ton jeu par navigateur
[Résolu][PHP] exec - Version imprimable

+- JeuWeb - Crée ton jeu par navigateur (https://jeuweb.org)
+-- Forum : Discussions, Aide, Ressources... (https://jeuweb.org/forumdisplay.php?fid=38)
+--- Forum : Programmation, infrastructure (https://jeuweb.org/forumdisplay.php?fid=51)
+--- Sujet : [Résolu][PHP] exec (/showthread.php?tid=5903)

Pages : 1 2


[Résolu][PHP] exec - Angelblade - 01-01-2012

Bonjour à tous,

En mettant en ligne mon site qui comporte maintenant des appels à exec() mais j'ai une erreur 127 lorsque je l'utilise chez mon hébergeur.

Je suis tombé sur un commentaire qui dit qu'on doit mettre /bin/sh dans l'environnement chroot.
http://www.php.net/manual/fr/function.passthru.php#84773
Ce qui est du chinois pour moi même si après quelque recherche c'est devenu moins obscur.

Des fois que cela vous aide, dans mon environnement Apache la variable path vaut /usr/local/bin:/usr/bin:/bin

J'ai désactiver le safe_mode de php, la demande seras prise en compte 24H mais je ne sais pas si ca résoudras le problème.

Auriez vous des remarques, des idées?




RE: |PHP] exec - Sephi-Chan - 01-01-2012

Pourquoi est-ce que tu utilises exec ?


RE: [PHP] exec - Angelblade - 01-01-2012

Je m'en sers pour compresser mon JavaScript avec yuicompressor notamment.


RE: [PHP] exec - atra27 - 01-01-2012

fait le à la main!
exec est souvent bloquée à cause des failles potentielles qu'elle représente
enfin sinon quel est le message d'erreur?


RE: [PHP] exec - Sephi-Chan - 01-01-2012

Effectivement, tu n'a jamais le droit d'utiliser exec sur un hébergement mutualisé : tu imagines les risques si tout le monde pouvait lancer les commandes qu'il veut sur le filesystem ? Smile



RE: [PHP] exec - Angelblade - 01-01-2012

Pourtant rien n'indique que exec soit bloqué chez mon hébergeur (coup de bol?) bien que system,passthru, elles, soient explicitement bloquées si j'essaye de les appeler.

Quand à le faire à la main c'est vrai que je peux ne changer mon JavaScript qu'en local puis faire une mise à jour avec les fichiers compressés.
Du coup la compression en ligne n'est pas vraiment utile mais j'aurais aimé en disposer.

Sephi-Chan: Oui c'est sur je m'en doutais un peu mais j'imaginais qu'ils pouvaient se prémunir d'une façon ou d'une autre des abus.


RE: [PHP] exec - niahoo - 01-01-2012

(01-01-2012, 11:17 PM)Sephi-Chan a écrit : Effectivement, tu n'a jamais le droit d'utiliser exec sur un hébergement mutualisé : tu imagines les risques si tout le monde pouvait lancer les commandes qu'il veut sur le filesystem ? Smile


Ben justement non, je vois pas le problème.
Sinon au pire tu peux dire à ton site en ligne de faire un appel au site en local pour qu'il lui compile Smile
hum quoique avec PHP ça me semble assez chiant pour pas grand chose.


RE: [PHP] exec - Sephi-Chan - 01-01-2012

(01-01-2012, 11:25 PM)niahoo a écrit :
(01-01-2012, 11:17 PM)Sephi-Chan a écrit : Effectivement, tu n'a jamais le droit d'utiliser exec sur un hébergement mutualisé : tu imagines les risques si tout le monde pouvait lancer les commandes qu'il veut sur le filesystem ? Smile

Ben justement non, je vois pas le problème.

Le serveur Web exécute les pages avec un utilisateur précis, qui a donc des permissions sur les fichiers de tous les virtual hosts. Ça peut donc exposer des fichiers d'autres utilisateurs.

Quant à la manipulation des assets, l'idéal et d'utiliser des outils de déploiement pour automatiser les processus. Wink


RE: [PHP] exec - Angelblade - 01-01-2012

(01-01-2012, 11:25 PM)niahoo a écrit : Sinon au pire tu peux dire à ton site en ligne de faire un appel au site en local pour qu'il lui compile

Quéé?

niahoo a écrit :hum quoique avec PHP ça me semble assez chiant pour pas grand chose.

Pour pas grand chose mais ça me facilite carrément la vie. Si je peux en disposer je vais pas m'en priver.
En plus je me sers aussi de exec pour compresser les images.
C'est comme le JavaScript c'est plus ou moins statique mais ça serait bien pratique de l'avoir.

Sephi-Chan a écrit :Quant à la manipulation des assets, l'idéale et d'utiliser des outils de déploiement pour automatiser les processus

Tu veux dire au lieu de passer bêtement par un FTP, utiliser un truc personnalisée qui compresserais le JavaScript?
J'ai pas la moindre idée de comment faire mais ça serais cool Smile








RE: [PHP] exec - Sephi-Chan - 01-01-2012

Le problème, c'est que les outils qui existent dans ce but (Capistrano, notamment) utilisent plutôt le déploiement des sources via SSH + Git (ou autre SCM). C'est donc plutôt inadapté aux hébergements mutualisés.

Par contre, tu peux te créer tes propres script de déploiement, un script PHP qui va concaténer et compiler tes fichiers de scripts dans un nouveau fichier (qui sera nommé automatiquement, pour forcer l'actualisation des caches), puis qui va aller réécrire l'endroit du code où tu charges ce fichier (en modifiant la ligne <script src="path/to/all_scripts.some-md5-hash.js"></script>), puis ça va envoyer (via le module FTP de PHP) les fichiers sur le site.