Jey Geethan
Jey Geethan

Reputation: 2285

Difference between <?php and <?

I am new to php and would like to know if there are any differences between these server tags :

<?php
?>

and

<?
?>

Upvotes: 41

Views: 22642

Answers (7)

Taha Khan
Taha Khan

Reputation: 162

As @erenon explained here: https://stackoverflow.com/a/1808372/1961535

The difference is that short_open_tag in some cases isnt available. You can check the status by accessing the php.ini file but in case of shared hosting server, the host does not always allow edits to php.ini file.

You can easily print the phpinfo as explained here: https://www.php.net/manual/en/function.phpinfo.php

phpinfo();

search for short_open_tag as shown below

enter image description here

It is always better to use full tag because that will always be supported in every version of PHP weather old file or new.

Upvotes: 0

seizu
seizu

Reputation: 517

Note short_open_tag = Off did not effect the <?= shorthand tag, which is equivalent to <?php echo

Upvotes: 1

LiamB
LiamB

Reputation: 18606

Also I think shorttags are being removed in one of the upcomming releases.

Edit: I was wrong.

Farewell <% They will remove support for the ASP style tags, but the PHP short-code tag will remain - so to those on php general who reckon the short-tag is 'depreceated' - hah! ;)

http://phpmysqldev.blogspot.com/2007/05/php-6.html

Upvotes: 3

Daniel May
Daniel May

Reputation: 8246

There is no difference.

The ability to use <? ?> is defined in your php.ini file - usually accessed only by the server host.

You can find more information here

Upvotes: 2

Dominic Rodger
Dominic Rodger

Reputation: 99841

The problem with short open tags is that the following:

<?xml version="1.0" ?>

will cause problems if you're allowed to use short tags (i.e. <? and ?>). <?php is less open to misinterpretation.

Whether or not you're allowed to use short tags is defined by the ini directive short_open_tag.

Upvotes: 42

Ben Everard
Ben Everard

Reputation: 13804

Nothing AFAIK, however I have had servers (shared) where the settings do not support shorthand tags <? ?>, so I usually stick with the <?php ?> for good measure.

Upvotes: 2

erenon
erenon

Reputation: 19158

The first is a safe open and close tag variation, the second is the so called short-open tag. The second one is not always available, use the first option if it's possible. You could check the availability of short open tags in php.ini, at the short_open_tag.

Upvotes: 52

Related Questions