2009-05-18 11 views
2

J'essaye d'obtenir mon installation de Mac en tant que serveur de php, cependant, aussi réussie que j'ai été jusqu'à présent, je semble avoir rencontré un peu de peine.Pourquoi les raccourcis PHP ne fonctionneraient-ils pas?

Mes déclarations d'ouverture PHP ne fonctionnent pas ... mais seulement les raccourcis.

Cela fonctionne:

<?php 
    phpinfo(); 
?> 

Cela ne signifie pas:

<? 
    phpinfo(); 
?> 

Il est Mac 10.5. J'espère que quelqu'un peut aider.

Merci

+0

Vous devriez mieux utiliser un code propre. – Gumbo

+1

Comme d'autres l'ont mentionné, la clé est l'activation de l'option d'étiquette courte ouverte dans votre php.ini. Cependant, il est fortement conseillé d'utiliser la déclaration d'ouverture complète. Le court est vieux, ambigu, et si je me souviens bien, bientôt obsolète. Si vous le voyez, courez vers les collines! –

Répondre

13

Dans votre php.ini, définissez short_open_tag sur Activé.

short_open_tag = On 

De la documentation:

short_open_tag booléenne

Indique si la forme courte (<? ?>) de la balise d'ouverture de PHP doit être autorisé. Si vous voulez utiliser PHP en combinaison avec XML, vous pouvez désactiver cette option afin d'utiliser <?xml ?> en ligne. Sinon, vous pouvez l'imprimer en PHP avec , par exemple: <?php echo '<?xml version="1.0"'; ?>. En outre, si est désactivé, vous devez utiliser le formulaire long de la balise open PHP (<?php ?>).

Edit:

short_open_tag est PHP_INI_ALL as of 5.3.0, ce qui signifie qu'il peut être changé partout (php.ini, .htaccess, dans le script). Et c'était PHP_INI_PERDIR avant 5.3.0, ce qui signifie qu'il peut être défini dans php.ini et .htaccess. Par conséquent, vous pouvez modifier sa valeur dans la plupart des cas, même si vous ne contrôlez pas le serveur.

Toutefois, ce paramètre est désactivé par défaut. Si vous allez distribuer votre script, il ne fonctionnera pas sur la plupart des installations prêtes à l'emploi. Dans ce cas, une recherche/remplacement pour passer à <?php est une bonne idée.

+1

C'est la bonne solution. Pour l'auteur de la question: short_open_tag est une mauvaise idée, car vous ne pouvez pas toujours avoir le contrôle du serveur sur lequel votre code est exécuté et je vous recommande fortement un remplacement rapide sur votre projet pour utiliser les balises d'ouverture complète. –

+0

'short_open_tags' est PHP_INI_ALL modifiable. – Gumbo

+0

merci. J'ai vérifié que le serveur en direct l'a activé.Je suis d'accord que ce n'est pas une bonne pratique de le faire en général, mais ça va sur ce projet. Je pensais juste que ce serait bien de faire trier l'ordinateur portable pour que je puisse ramener mon travail à la maison :) Merci pour les bons conseils et les points cependant. – Tisch

0

Avez-vous vérifié que short_open_tag (voir here) est activé dans votre php.ini?

Questions connexes