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


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

"via le module FTP de PHP"

Vacheee, c'est génial ça faut absolument que je trouve comment faire ce que tu viens de dire. En plus ça permettrais de faire un truc que mon FTP ne fait pas: ne mettre à jour que les fichiers ayant été modifié entre la version en ligne et locale.

J'avais jamais envisagé que php puisse servir de FTP, cooool!
Ca change pas mal de chose

Sinon pour exec vous pensez que c'est mort?


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

http://php.net/manual/en/book.ftp.php

Et oui, tu peux oublier exec je crois. Smile


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

Ok, c'est moins grave après ce que tu viens de m'apprendre.

Par contre juste une question,
Dans la doc sur FTP que je regardais depuis quelque temps le gars poste quelque chose de pas mal du tout:

Code :
class ftp{
    public $conn;

    public function __construct($url){
        $this->conn = ftp_connect($url);
    }
  
    public function __call($func,$a){
        if(strstr($func,'ftp_') !== false && function_exists($func)){
            array_unshift($a,$this->conn);
            return call_user_func_array($func,$a);
        }else{
            // replace with your own error handler.
            die("$func is not a valid FTP function");
        }
    }
}
En gros ça raccourcis les appels aux fonction ftp rien de plus

Il commente en disant "This code is php 5.3+".
Je suis pas d'accord avec lui la méthode __call est disponible avant php 5.3 non?
Et je vois pas autre chose qui serais 5.3+

Etes vous d'accord avec moi ? C'est important puisque je suis sur 5.2.



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

(01-01-2012, 11:36 PM)Angelblade a écrit :
(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

Ce qui est chiant pour pas grand chose c'est de faire communiquer tes sites (en ligne et en local) pour faire la compression à la maison quand le site en ligne le demande. En php c'est se casser les couilles avec curl alors que dans d'autres environnements c'est facile.

Sinon sephi il me semble bien que tu peux avoir le serveur exécuté par un utilisateur correspondant au client de l'hébergeur ou à chaque site. De ce fait, ton exec peut agir que sur ton dossier ~

Enfin sur mon mutu c'est comme ça mais c'est un VPS donc j'ai aussi le shell. Mais il me semble bien que c'est utilisé par pas mal d'hébergeurs de vrais mutus.

ou pas.
[.nawak.]. edit : ben testes pour la 5.2 c'est vite vu si ça marche
Sinon 'idée du FTP c'est cool


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

Ah bon? à quel moment php à besoin de créer une fonction anonyme?

Pour moi ce qui se passe c'est:

$ftp->ftp_login('name','password');
ftp_login n'existe pas __call est appelé avec la chaine('ftp_login', $arguments) puis call_user_func_array est appelé sur ce nom de fonction.

Je dois mal me représenter ce qui se passe ou ne pas comprendre la logique de __call.

niahoo a écrit :[.nawak.]. edit : ben testes pour la 5.2 c'est vite vu si ça marche

Ah ok Big Grin
Je testerais et repasserais dire si ça fonctionne

Pour le FTP oué c'est super, ça m'iras bien et de temps en temps si j'ai des choses à compresser je lancerais mon script FTP de mise à jour


RE: [Résolu][PHP] exec - srm - 02-01-2012

Pour moi c'est même compatible 5.1 son code vu de loin.


RE: [Résolu][PHP] exec - Angelblade - 02-01-2012

Comme attendu ça fonctionne impeccable sous 5.2


RE: [Résolu][PHP] exec - Angelblade - 19-01-2012

Je viens de finir le script de déploiement qui met à jour mon site automatiquement. Çà déchire.

Si ça peut aider quelqu'un un jour, je fait une petite liste des problèmes que j'ai rencontré.
  • Si les fonctions ftp de PHP retournent false après un long moment d'attente: passer la connexion en passive avec ftp_pasv(true)
  • Si un fichier que vous venez de déposer à un mtime inexplicablement décalé par rapport à celui attendu: Vérifier avec la fonction date() si la date de votre serveur est bien à jour. Moi j'avais 7min44 de décalage qui m'ont fait péter un plomb ne comprenant pas d'où ça pouvait venir.
  • .json c'est mieux que .ini et json_last_error() c'est php 5.3+
  • Le mtime récupérable des fichiers retourné par la fonction ftp_rawlist est précis à la minute et vous ne pourrez pas utiliser l'option --full-time qui vous permettrais une précision à la seconde. De plus si votre fichier à plus d'un an la précision récupérable passe au jour près.

Je me rappelle pas de tout mais voilà le principal.

Merci sephi pour ton conseil c'était la meilleure solution!