Limite du PHP ?

Résolu/Fermé
djstoun Messages postés 291 Date d'inscription mercredi 23 septembre 2009 Statut Membre Dernière intervention 26 mai 2023 - 30 mars 2012 à 16:29
djstoun Messages postés 291 Date d'inscription mercredi 23 septembre 2009 Statut Membre Dernière intervention 26 mai 2023 - 2 avril 2012 à 09:40
Bonjour,

J'ai créé un formulaire de 10 pages avec une page résultat à la fin qui compte environ 300 réponses selon les choix effectués lors des dix questions. Pas de problème jusqu'à hier. En effet, je suis à plus de 800 lignes de code php sur ma page finale. Je voulais savoir si le php avait des limites. S'il y a une astuce. Maintenant, dès que je fais pour du blanc les 10 questions, je ne trouve pas les bons résultats.



6 réponses

djstoun Messages postés 291 Date d'inscription mercredi 23 septembre 2009 Statut Membre Dernière intervention 26 mai 2023 5
30 mars 2012 à 16:44
Ou est-ce wamp qui n'arrive pas à bien calculer le php ?
0
Bonjour,

Ce sont des erreurs de votre code s'il ne marche pas. La programmation n'as pas de limites telles que la taille ou la verbosité du code.
Un code bien fait va être modulaire et faire appel à des fonctions le plus souvent possible afin d'alléger le code et de ne pas avoir 800 lignes où chercher une erreur mais ce sont des régles purement pour le développeur et non correspondant à une logique d'ordinateur, lui va lire sans s'ennuyer et faire tout ce qui est dit sans que ce soit là peine que le code soit propre et lisible.
Les limites de PHP sont que c'est un langage de script dont les fonctionnalités objets sont loin d'égaler d'autres langages orienté objet, que c'est un langage nécessitant un serveur pour l'interpréter et sans réelle possibilité de débogage ou de gestion de la mémoire.
0
djstoun Messages postés 291 Date d'inscription mercredi 23 septembre 2009 Statut Membre Dernière intervention 26 mai 2023 5
30 mars 2012 à 17:09
Ca peut être un problème de mémoire lié au calcul du script alors ? Wamp est-il sans faille ?
0
djstoun Messages postés 291 Date d'inscription mercredi 23 septembre 2009 Statut Membre Dernière intervention 26 mai 2023 5
31 mars 2012 à 12:43
Lorsque je crée une nouvelle page en ne mettant que quelques codes php (récupération de variables) cela marche... Mais lorsque je mets plein de codes php, plus rien ne marche pratiquement...
0
graffx Messages postés 6506 Date d'inscription jeudi 22 mars 2007 Statut Contributeur Dernière intervention 24 mars 2019 1 973
31 mars 2012 à 13:57
Mal codé et pleins d'erreurs en général, sinon serveur mal configuré, ce qui est plus rare mais pas impossible. Peut etre des fonctions php desactivées par defaut...
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
mimigenie Messages postés 1180 Date d'inscription dimanche 3 janvier 2010 Statut Membre Dernière intervention 4 août 2018 312
31 mars 2012 à 13:59
Est-ce que tu as un message d'errreur ou non ?

La seule limite du php que je connaisse est celle du temps : 30 sec
php refuse de travailler pendant plus de 30 sec.

Sachant que la plus part des codes s'exécutent en moins d'une seconde, en 30 sec tu peux exécuter énormément de code.

Et encore, en modifiant php.ini tu peux augmenter cette valeur donc php n'a quasiment pas de limite.
0
non je n'ai pas de messages d'erreur... La pge résultat final arrive instantanément.

Il suffit parfois que je mette plus en haut de la page des codes php, pour que ceux-ci se mettent à fonctionner... J'ai d'ailleurs une question : est-ce que cela change beaucoup de choses si chaque code est séparé par les balises <?php ?> ou vaut-il mieux que j'inclue tous mes codes PHP à l'intérieur d'une seule balise ?
0
Cela ne change rien. Il vaut mieux faire des codes php modulaire avec des fonctions qui sont appelées d'un fichier include. Le problème ne vient pas de PHP mais de votre code. Si vous écrivez avec des fautes vous ne pouvez pas mettre en cause le stylo ou la grammaire, c'est la même chose, PHP est un langage pour donner des instructions à un ordinateur. Si celui ci reçoit des instructions fausses ou qui ne respectent pas la grammaire normal que le programme ne fonctionne pas.
Quelle erreur obtenez vous? Êtes vous l'auteur du programme?

Ca peut être un problème de mémoire lié au calcul du script alors ? Wamp est-il sans faille ?
Probablement pas, la mémoire n'as pas besoin d'être gérée par le programme, c'est un avantage par rapport à certains langages de programmation où il faut allouer un espace mémoire pour chaque variable(comme c#). Une des différences des langages de script et de certains langages compilés.
Quand au serveur Apache de Wamp à moins que vous ayez changé le fichier de configuration ou que vous utilisiez un code fait pour une version différente de PHP(comprenant des fonction non implémentées dans la version du serveur) pas de raison que ça ne marche pas.

Cherchez plutôt une erreur dans votre code que remettre en question PHP qui certes à des limites mais est fait et efficace pour les besoins des pages internet.
0
maka54 Messages postés 699 Date d'inscription mercredi 8 avril 2009 Statut Membre Dernière intervention 4 décembre 2016 80
1 avril 2012 à 11:03
Ca peut être un problème de mémoire lié au calcul du script alors ? Wamp est-il sans faille ?
Probablement pas, la mémoire n'as pas besoin d'être gérée par le programme, c'est un avantage par rapport à certains langages de programmation où il faut allouer un espace mémoire pour chaque variable(comme c#). Une des différences des langages de script et de certains langages compilés.

Si il y a des limites de mémoires en PHP

Fatal error: Allowed memory size of ... bytes exhausted (tried to allocate... bytes) ....
0
djstoun Messages postés 291 Date d'inscription mercredi 23 septembre 2009 Statut Membre Dernière intervention 26 mai 2023 5
1 avril 2012 à 15:51
Merci beaucoup pour vos réponses tentant de m'aider. Et oui en fait j'ai créé une à une toutes les lignes du script. Je testais une à une les lignes. Et un jour, au bout de 800 lignes, en rajoutant une quinzaine de lignes, quand j'ai tout voulu retester, les codes fonctionnaient parfois, parfois ne fonctionnaient plus ou pratiquement plus.

Alors en fait chaque ligne est séparé par des if. PAr exemple (j'ai modifié le texte) :
//no tendance
If (($n2 == "21") && ($mrc2 == "31.02") ) {
echo "Malheureusement, aucune tendance ne peut être définie selon vos choix. Il semble donc que vos idées ne soient pas représentées
"; echo '</p>' ; echo '<br /><img src="images/nada.jpg" border="0" /></div> ';}
// egocentrique
If ( ($PKW == "10.5")) {
echo "vous avez un caractère sensible, mais aussi très égocentrique"; echo '</p>' ; echo '<br /><img src="images/egocentrique.jpg" border="0" /></div> ';}
0
Un peu compliqué votre histoire(pour rien). Pourquoi n'utilisez vous pas une base de données?
Les guillemets sont mal utilisés.

Vous devez utiliser des guillemets simple inclus dans les doubles(les simples s'appliquant en premier) ou échapper vos guillemets du texte(html).

Comme ceci:

echo '</p>' ; echo "<br /><img src='images/nada.jpg' border='0' /></div> ";}

ou alors

echo '</p>' ; echo '<br /><img src=\"images/nada.jpg\" border=\"0\" /></div> ';}
0
djstoun Messages postés 291 Date d'inscription mercredi 23 septembre 2009 Statut Membre Dernière intervention 26 mai 2023 5
1 avril 2012 à 16:31
Je ne sais pas si cela vient des guillemets pour les images car à chaque fois que le script s'active j'ai bien l'image qui correspond. Une base de données ? il faut que je copie les 800 lignes de scripts sur une autre page que la page finale?
0
La façon dont vous écrivez les guillemets n'est pas la bonne.. vous posez une question sans écouter la réponse.. pas très malin. Les guillemets ne sont certainement pas le seul problème, il vous faut tester chacune de vos lignes de code pour repérer les erreurs.

Justement l'intérêt d'une base c'est que ce n'est pas stocké dans le code et que c'est dynamique. Donc le code sera le même pour chaque réponse, seule le résultat change, bref c'est fait pour ça et vous éviteras des problèmes quand vous changez/ajoutez/modifiez le texte.

Arrivé à 800 lignes et avec plein d'erreur bous ne vous dites pas qu'il y a un problème dans votre travail? Ce n'est pas la bonne façon de faire, normal aussi quand on débutes. Mes premiers codes faisait dans les 2000 lignes(2200 en fait et c'était de l'actionscript), depuis j'évite et le code est propre, clair et plus rapidement écrit, les erreurs sont facilement repérables et modulaire avec des fonctions bien rangés dans un fichier externe.
0
Bonjour

Vous devez utiliser des guillemets simple inclus dans les doubles(les simples s'appliquant en premier) ou échapper vos guillemets du texte(html).
Sur quoi s'appuie cette remarque ? Elle est totalement fausse.
echo '<br /><img src="images/nada.jpg" border="0" /></div> '; est correct alors que
echo '</p>' ; echo '<br /><img src=\"images/nada.jpg\" border=\"0\" /></div> '; est manifestement erroné. Il est absurde d'achapper les " dans une chaîne entre ', cela n'échappe rien du tout, cela insère des \
0
Merci le père c'est ce qui me semblait aussi.^^
0