Назад | Перейти на главную страницу

Сервер неправильно разбирает PHP

У меня есть лезвие под управлением SunOS 5.1 и PHP. Однако есть проблема с синтаксическим анализом PHP, и как только он попадает в =>, например, при настройке массива, он начинает печатать источник на странице.

Пример источника:

<?php

$tmpVar = 'just testing';
$tmpArray = array(
    'test1' => 'rawr1',
    'test2' => 'rawr2',
    'test3' => 'rawr3'
);

echo "Testing<br/>";    

?>

Это выведет:

'rawr1', 'test2' => 'rawr2', 'test3' => 'rawr3'); echo "Testing<br/>"; ?>

Как сказал Энси, вы уверены, что он вообще разбирает PHP? Не похоже. Вероятно, он просто сбрасывает весь код, и ваш браузер интерпретирует его как HTML, рассматривая все это как один гигантский тег от <? Php до первого>, с которым он сталкивается.

Сделайте <?php phpinfo(); ?> тест.

Кроме того, вы уверены, что имя файла правильное? На самом деле он называется чем-то вроде index.php, а не index.html или index.php.txt или как-то еще.

Судя по всему, PHP вообще не был включен. Обратитесь к администратору сервера.

Какое расширение файла вашего скрипта? Будет ли эта установка расширения анализироваться PHP? Расширение обычно должно быть .php. Фрагмент вывода выглядит так, как будто вы вместо этого используете .html.

Либо ваша версия PHP не распознает <?php тег (попробуйте с <? вместо этого?), или, что более вероятно, интерпретатор PHP не работает / не запускается / не запускается.

Таким образом, при загрузке код PHP интерпретируется, как если бы это был HTML,

  <?php $tmpVar = 'just testing'; $tmpArray = array('test1' =>

строка выше начинается с < и заканчивается >, поэтому браузер считает это тегом и не отображается.

Потом остальное отображается нормально ...

 'rawr1','test2' => 'rawr2','test3' => 'rawr3'); echo "Testing<br/>"; 

Попробуйте с <?, но, скорее всего, у вас проблема с конфигурацией PHP.

Вы уверены, что PHP действительно установлен? Если да, уверены ли вы, что Apache правильно настроен для использования PHP?