2012-05-08 5 views
12

В Windows (WAMP) У меня есть index.php как этотPHP Ошибка синтаксического анализа - неожиданный T_STRING

<?xml version="1.0" encoding="utf-8"?> 
<?php 
    // ... 
?> 

и она работает, как ожидалось.
Теперь я только что настроил LAMP на Ubuntu, и тот же файл (при вызове из браузера) дает мне ошибку. Глядя в error.log Я нашел

PHP Parse error: syntax error, unexpected T_STRING in /var/www/test/index.php on line 1

Если удалить первую линию все работает отлично.
Что случилось? Почему это работает на Windows, а не на Linux?
Может ли это быть вызвано конкретным расширением?

+0

Я думаю, что короткие теги ответы будут работать; по моему опыту, я всегда повторял строку '' из кода PHP, поэтому мне не пришлось беспокоиться о том, как были установлены короткие теги. – Crontab

+0

echo ''; –

+0

Это также происходит, если вы попытаетесь запустить 'phpunit' и не выполните параметр. Например, 'phpunit --filter -c phpunit.xml' запускает эту же ошибку. – styks

ответ

26

Похоже, что у вас установлены короткие теги, что заставит PHP попытаться разобрать, что произойдет после <?.

Установите опцию конфигурации short_open_tag в php.ini на 0 или Off и перезапустите Apache.

+2

Глупая ошибка, которая заняла у меня много времени: большое спасибо! – Marco

1

Вы проверили, включены ли короткие теги на php.ini?

+0

Спасибо за помощь! Я ценю так много – Marco

Смежные вопросы