compiler plusieurs pages - PHP - Programmation
Marsh Posté le 23-09-2007 à 23:44:21
le mot compilation et PHP ne vont pas ensemble. PHP ne se compile pas. C'est un language interprété (je crois)
Pour info, php se lance sur un serveur web avec un navugateur mais aussi en ligne de commande. Et c'est ca qu'il te faut.
pour executer un script php, tu lance simplement
php monfichier.php
Sous windows, il faut que tu rajoutes .exe apres php
Marsh Posté le 23-09-2007 à 23:52:02
Tu dis
Citation : |
puis
Citation : |
Permets moi d'émettre un doute sur le fait que tu pourrais pas faire autrement qu'un vilain refresh à temps fixe sans être sur à 100% que l'opération précédente est finie...
Je suis pas non plus sûr que tu ais bien compris le principe de php, le principe client/serveur, le protocole http, bref tous les prérequis pour parler de compilation de script php
Donc sois tu en dis plus, ou si tu penses que ça doit rester secret et bien tu te dé...
Donc le résumé des actions des 6 pages, le lien entre elle (apparment y'en a pas d'autres que l'ordre d'éxécution Paramètres passés via session Autre chose )
La liste des raisons particulière m'intéresse aussi
Petite remarque HS: pourquoi parler de IE en particulier Tu accèdes à ton script via un navigateur si c'est en http
Marsh Posté le 24-09-2007 à 00:32:57
include('page1.php');
include('page2.php');
etc
ou alors j'ai pas compris
Marsh Posté le 24-09-2007 à 12:47:46
weed a écrit : le mot compilation et PHP ne vont pas ensemble. PHP ne se compile pas. C'est un language interprété (je crois) |
Installer php-cli.
Sous windows, ajouter le répertoir de php au PATH et pas besoin du .exe.
Mais je plussoie la soluce du cron + wget
C'est, vraissemblablement, la plus appropriée.
Après... Ba... En l'absence de plus d'infos, il est difficile de répondre.
Et puis PHP ça se compile.
Marsh Posté le 24-09-2007 à 13:19:00
dwogsi a écrit : |
pour en faire une page html ?
Marsh Posté le 24-09-2007 à 13:58:06
dwogsi a écrit : Et puis PHP ça se compile. |
ouais bof
Même si il existe bien un compilateur bytecode pour php, la plupart des "choses" appelés "compilateurs" pour php sont en fait des optimiseurs ( genre Zend).
Note: je suis pas un expert en compilation, c'était juste mon point de vue
Marsh Posté le 24-09-2007 à 14:17:33
dwogsi a écrit : |
En effet la solution de wget serait une solution pour aller automatiquement sur des sites en passant en parametres des POST, des GET, des COOKIES.
mais par contre, je reste persuadé que sous Windows, il faut utiliser une exe meme si tu le rajoute dans le path.
Marsh Posté le 24-09-2007 à 14:18:16
giHefca a écrit : |
Marsh Posté le 24-09-2007 à 15:27:59
giHefca a écrit : pour en faire une page html ? |
Pourquoi pas, la sortie elle va où on veut!
anapajari a écrit : |
J'ai vu plein de solutions de compilations pour PHP, les meilleurs ne sont effectivement que des solutions d'optimisation pour pallier aux problèmes de lenteur de PHP. Dans les pires, j'avais vu un compilateur qui embarquait l'interprêteur PHP dans le binaire ainsi généré. Pour l'optimisation là c'est rappé.
Sinon je dis que PHP ça se compile, c'est juste à savoir pour la culture générale.
Parce que franchement, quitte à utiliser un langage compilé, autant choisir autre chose que du PHP.
weed a écrit : En effet la solution de wget serait une solution pour aller automatiquement sur des sites en passant en parametres des POST, des GET, des COOKIES. |
Je parle de la chaîne ".exe" qui est optionnelle en ligne de commande sous windows pour appeler un binaire.
Le binaire lui n'est pas optionnel, c'est évident.
Marsh Posté le 24-09-2007 à 16:50:26
dwogsi a écrit : |
dwogsi a écrit : |
dwogsi a écrit : |
Voila pour info:
Chaque page à une action particulière c'est-à-dire qu’elles impriment des factures automatiquement sur une page A4 avec BVR.
Elles sont des conditions qui interrogent une BD sql
Si la condition est bonne j’ai fait une include qui va chercher une page avec tous ce qu’il faut pour imprimer
Salutations
Marsh Posté le 24-09-2007 à 17:12:04
Bouge pas, je vais chercher ma boule de crystal et je vois si ont peut compiler tout ça.
Citation : Elles sont des conditions qui interrogent une BD sql |
Edit :
Bon, de toute façon avec le peu d'informations que tu nous donnes, je pense qu'on ne peut que te conseiller la solution de cron+wget.
Ou de la tâche planifiée sous windows (ce qui revient exactement à la même chose) utilisant une appli équivalente à wget.
Parce que le refresh au moyen d'un navigateur (j'imagine fait avec du js) c'est un peux risqué. Une erreur de chargement et c'est mort.
Sinon, si vraiment tu te fou complètement de faire des choses dégeux, tu peux te faire une page avec 6 frames, contennant chacune une de tes pages.
Mais là, je tiens à insister sur le fait que je trouve ça un peut stupide étant donné qu'il existe des solutions biens plus fiables et plus "propres".
Et puis je pense aussi que tes 6 pages pourraient très certainement n'en faire qu'une. Suffit d'organniser les choses correctement. Je vois vraiment peu de cas très spécifiques ou il ne serait pas possible de tout rassembler. Cela-dit, et sans le code ou des infos plus pertinente, on ne peut pas te conseiller d'avantage.
Marsh Posté le 24-09-2007 à 20:53:10
dwogsi a écrit : Bouge pas, je vais chercher ma boule de crystal et je vois si ont peut compiler tout ça.
|
Merci pour ton conseil, je me suis bien marré ton argument est quand même super drôle! ok pour les iframes c'est pas possible j'ai déjà testé.
Je vais bien entendu me penché sur la solution d’en faire de ces 6 pages qu’une seul.
Merci à tous le monde d’avoir gentiment répondu à ce message.
Salutations
Marsh Posté le 24-09-2007 à 22:19:02
Le rôle de tes 6 pages
On sait maintenant que y'a une histoire de génération de document, qui d'ailleurs n'est pas obligé d'être affiché pour être imprimé, mais le reste
Dans quel contexte fais tu ces impressions, sur une action humaine, généré tout seul en fond... ?
Est ce que l'impression doit être instantanée?
Je confirme ce que je disais et que pense les autres, je vois pas pourquoi tu pourrais pas faire tout ça en un seul coup, si tout est bien pensé et assemblé correctement (ce qui permet d'ailleurs de faire faire de l'abstraction et donc de la réutilisabilité au passage )
Sinon une idée, si tu as la main sur le serveur, ce que j'ai l'impression est le cas, pourquoi ne pas faire un dépôt avec un script en tâche de fond qui vient ramasser, imprime et fait ce qu'il y a à faire
Quand tu dis bvr c'est bulletin de versement avec référence C'est enregistrer les infos sur le site qui gère le truc que t'as tes 6 pages? Si c'est ça, utilises curl pour faire tes requêtes sur le ou les sites, le ou les pages du site, et tu pourras le faire en un coup (en gérant les erreurs hein).
Marsh Posté le 25-09-2007 à 14:45:40
Pour info, php, ça peut se compiler en exe :
http://www.bambalam.se/bamcompile/
http://krakjoe.com/projects/phpCompile-Beta
On peut même faire des IHM fenêtrées pour windows via WinBinder
Marsh Posté le 25-09-2007 à 14:48:03
Et bien je ne savais pas du tout. Merci pour les doc rufo.
Marsh Posté le 25-09-2007 à 15:09:11
tiens, encore un autre que je viens de découvrir aujourd'hui : http://wiki.swiftlytilting.com/Phc-win
J'en profite pour poser une question : y'en a qui ont réussi à compiler en .exe des scripts php5? J'ai bien réussi avec du php4, mais pas du php 5 Pourtant, phpCompile-Beta est sensé le supporter mais ça merdouille...
Marsh Posté le 25-09-2007 à 16:40:25
c'est bon, j'ai réussi à compiler un ensemble de scripts php5 avec phpCompile-Beta Par contre, le temps d'exécution n'est pas diminué
dwogsi, il peut y avoir plusieurs raisons de vouloir compiler en exe du php :
- si le compilo le permet, améliorer le temps d'exécution
- pouvoir utiliser une lib qui n'existe pas ou qui est de moins bonne qualité dans un autre langage et ça serait trop long de la porter
- protéger le code source d'une appli php
- si on ne connaît que le php et pas d'autre langage, pouvoir développer des applis windows graphique.
- autre?
Dans mon cas, c'était pour les 2 premières raisons. J'ai une SVD (singular value decomposition) à calculer sur une matrice de 2500x2500 et mon script php a mis 2j pour me cracher le résultat J'ai bien trouvé un programme en c qui me fait la même chose mais le résultat est de moins bonne qualité (numériquement parlant, le résultat est plus instable qu'avec ma lib php). Par contre, il est beaucoup plus rapide (sur le même cpu -> 5h environ). Pourtant, les 2 libs partent du même algo implémenté dans la célèbre lib de calcul Lapack (Fortran 77).
Marsh Posté le 25-09-2007 à 17:00:39
rufo a écrit : - si le compilo le permet, améliorer le temps d'exécution |
Là faut bien choisir son compilo, parce que beaucoup ne sont que des choses destinnées à faire un binaire, pas plus rapide.
rufo a écrit : - si on ne connaît que le php et pas d'autre langage, pouvoir développer des applis windows graphique. |
Très franchement là... Mieux vaut quand même apprendre un autre langage.
Sinon je ne disais pas que c'était forcément une mauvaise idée que de compiler du php, j'ai juste du mal à voir dans quel cas ce peut être vraiment utile.
Marsh Posté le 25-09-2007 à 17:20:46
comme je le disais, dans le cas d'utiliser une lib et éviter de la porter vers un autre langage. Des lib bien spécifiques (calcul, par ex).
Marsh Posté le 25-09-2007 à 17:37:23
rufo > C'est moi où ton utilisation des "compilateurs php" reviennent juste à faire un .bat qui lance php.exe avec le fichier php principal en paramètre?
Bon, c'est vrai qu'il est plus facile de copier un fichier que deux répertoires (celui de php et celui du script à faire tourner)
Marsh Posté le 25-09-2007 à 18:34:12
non, ça compile réellement en opcode php et ça met tout ça dans un exe qui est alors complètement autonome (plus besoin de php.exe)
Marsh Posté le 25-09-2007 à 18:45:46
ouai ca a l'air d'etre vraiment sympa ton truc si l'on veut faire quelques chose de propre et de rapide ...
Marsh Posté le 26-09-2007 à 09:17:47
rufo a écrit : http://krakjoe.com/projects/phpCompile-Beta |
rufo a écrit : non, ça compile réellement en opcode php et ça met tout ça dans un exe qui est alors complètement autonome (plus besoin de php.exe) |
Euh pas vraiment
lui par exemple, compile que dalle d'ailleurs c'est marqué sur la page
Citation : It's NOT really a compiler in the sense that it doesn't produce native machine code from PHP sources, but it works! |
c'estr plus un embeddeur (je sens que j'invente un mot) qu'un compileur
lui se sert de la librairie de compilation bytecode que j'évoquais un peu plus tot. Par contre si j'ai bien compris ça ne peut compiler que pour windows right?
Marsh Posté le 26-09-2007 à 10:50:27
tout à fait, ça marche que pour windows. C'est vrai que certains "compilateurs" sont plus des packagers permettant de se passer du php.exe.
Marsh Posté le 23-09-2007 à 22:06:24
Bonjour,
Sur mon serveur il y a 6 pages en php exécutées depuis le navigateur internet exploreur avec un rafraîchissement de 10 secondes. Chacune d’entre elle a pour but bien précis de faire des opérations selon les conditions demandées depuis une table Mysql
Il m’est absolument impossible pour des raisons bien particulières d’en faire qu’une page !
je n'aime pas trop d'avoir en permanance ces 6 pages ouvertes
Existe-t-il un programme pour compiler ces 6 pages ? Que faire ?
Merci d’avance