One major problem of old/legacy or unmaintained PHP scripts is, that they usually use short-open-tags to enclose PHP code:
<? echo "foobar"; ?>
This used to be common in the old days, but trying to run those scripts on a modern LAMP stack will most likely result in 500-code errors.
Sure you could just enable short_open_tag in the php.ini and it would solve the problem. But even though there are no official hints that it might get deprecated or removed, it is still a bad practice. The Basic Coding Standard by the PHP Framework Interop Group clearly states:
Files MUST use only <?php and <?= tags.
So why should you hold on to bad practices, if you can just easily mass replace them to normal open-tags? Eclipse offers a feature where you can do a project based search & replace, and even use Regular Expression with group matching. Follow the steps below to refactor your (or someones else) code.
Steps to fix under Eclipse (PDT):
- Select via the “File Navigator” your root project folder
- Go to the menu: “Search” -> “File…”
- Configure as seen in the screenshot below, type into “Containing text:” the following:
- Click on the button “Replace…”
- Again, configure as seen in the screenshot. Type into “With:” the following:
- Click on “OK” -> Done! 🙂
Basically with that regular expression we just used, you are searching for all “<?” occurrences that are followed by either a newline or white space (tabs, spaces). It will then replace it by “<?php” including the same amount of white spaces (or newline) after. This will ensure we are not breaking the code or changing anything else except the PHP short-open tag.