2009-12-21 8 views
0

Je travaille sur un site Web basé sur Drupal qui fonctionne bien sur le serveur distant (pile LAMP) ainsi que sur tous les autres systèmes de développement (pile WAMP). Mais quand j'essaie de l'exécuter, le code PHP est craché dans le navigateur avec le HTML au lieu d'être analysé comme il le devrait.Erreur d'analyse PHP dans le site Web de Drupal

Il y a très peu d'informations que je peux glaner à partir des journaux d'erreurs. PHP lui-même est installé correctement et une installation propre de Drupal fonctionne. C'est seulement le code que je vérifie à partir de notre dépôt qui va de travers et uniquement sur mon propre système. Les jolies URL ne fonctionnent pas non plus, et je dois utiliser le format/q = xxx pour accéder aux pages du tout. Les jolies URL finissent juste avec une erreur d'analyse dans des endroits étranges quand il ne devrait y avoir aucune erreur d'analyse. Je réitère - le code fonctionne bien partout ailleurs sauf sur mon système.

Y at-il même un endroit où je peux commencer à chercher pour résoudre ce problème?

.p

Répondre

4

Si vous voyez du code PHP dans le code HTML puis l'interprète n'est pas invoquée. PHP n'est pas installé ou mal configuré. Utilisez-vous des étiquettes courtes? Si oui, avez-vous l'option short tags activée dans php.ini?

Un moyen facile de tester ceci est de parcourir toutes les variables et d'essayer un simple script php en dehors de Drupal. Mettez ce qui suit dans un script et exécutez-le. Cela pourrait vous donner une idée de ce qui se passe.

<?php 
    echo 'Hello World!'; 
?> 

<? 
    echo 'Hello World!'; 
?> 
+0

S'est avéré être un problème avec les étiquettes courtes. Les développeurs précédents travaillant sur le projet étaient des ninjas ASP et ne savaient pas que cela pouvait être un obstacle. Je n'ai pas utilisé de balises courtes avec PHP depuis toujours, donc il ne m'est jamais venu à l'esprit de vérifier cela. Merci pour l'aide rapide. Je peux maintenant partir en vacances en paix. :) –

0

Si vous avez créé un noeud, puis utilisé le code PHP comme corps, vérifiez que le format d'entrée a été défini sur "code PHP"; différemment, le code PHP sera analysé en tant que texte, et les balises <?php?> se sont échappées.
Cela expliquerait pourquoi vous les voyez.

Si ce n'est pas le cas, alors je vérifierais ce qui a été rapporté par Mike B, ou si les fichiers avec l'extension .php ne sont pas considérés comme des fichiers PHP.