PHP не работает когда <? (а когда <?php - работает)

mb_string

Новичок
Появилась странная проблема при создании нового LAMP-сервера на CentOs 5.3

Обычно ставил php 5.1, идущий из дефолтных репозиториев и подправлял /etc/httpd/conf.d/php.conf - вместо строк

AddHandler php5-script .php

AddType text/html .php

ставил строки

AddHandler php5-script .php

#AddType text/html .php

AddType application/x-httpd-php .php

и всё работало просто замечательно, даже не думал, что в таком понятном месте могут быть какие-то проблемы.

А потом пришла пора уже переползать на php 5.2 - и я пробовал на нескольких серверах обновляться до 5.2 (через репозиторий atomic, который в общем-то и рекомендуется для поднятия версии php).

И ничего не вышло у меня: почему-то все php-скрипты стали обрабатываться - и выдают в браузер свой код. Т.е. пишу <? echo phpinfo(); ?> - эти строчки и вижу (разумеется /etc/httpd/conf.d/php.conf проверял, что после обновления ничего не слетело)

Эта проблема меня сильно озадачила, я перечитал описания этих двух директив и пошёл тренироваться на чистом свежеустановленном сервере.

Итак, что есть: чистый CentOs c уже установленным apache (ну вот уже поставил хостер туда апач).

Параметры:

cat /etc/redhat-release

CentOs release 5.3 (Final)

httpd –v

Apache/2.2.3

Ок, поставлю только php 5.2 и сразу буду тестироваться. Подключаю атомик ( wget -q -O - http://www.atomicorp.com/installers/atomic.sh | sh ) и прописываю exclude = php*5.3*

Ставлю php:

yum install php-5.2.17 php-cli-5.2.17 php-common-5.2.17

Установилось, проверяю:

php -v

PHP 5.2.17 (cli) (built: Jan 7 2011 08:49:48)

Copyright (c) 1997-2010 The PHP Group

Zend Engine v2.2.0, Copyright (c) 1998-2010 Zend Technologies

Всё вроде неплохо, пробуем подружить apache с php.

Ищу файл /etc/httpd/conf.d/php.conf - ну да, как обычно вижу:

AddHandler php5-script .php

AddType text/html .php

Заменяю по привычке

AddHandler php5-script .php

#AddType text/html .php

AddType application/x-httpd-php .php

Настраиваю самый простенький виртуалхост с минимальным конфигом, пытаюсь стартовать и посмотреть phpinfo() - не работает, вижу в исходниках html-страницы свой php-код.

Почему не работает - не понимаю совершенно. Всё сделано как обычно, всё сделано по мануалам.

Где ловить ошибку - в корне непонятно. Перерыл уже за последние 4 часа тонну интернета - но так и не нашёл похожей проблемы.

Куда копать?

PS Ну, на всякий случай поподробнее расскажу, как настраивал виртуальный хост. Всё как обычно: расскоментил одну строку в /etc/httpd/conf/httpd.conf

NameVirtualHost 123.123.123.123:80

закинул в /etc/httpd/conf.d conf-файл хоста:

<VirtualHost 123.123.123.123:80>

ServerName rockrist.tudumba.ru

ServerAlias www.rockrist.tudumba.ru

DocumentRoot /home/rockrist.tudumba.ru/www

ErrorLog /home/rockrist.tudumba.ru/logs/rockrist.tudumba.ru.error_log

<Directory "/home/rockrist.tudumba.ru/www">

AllowOverride All

Options +Includes

</Directory>

</VirtualHost>

PPS Пока писал вот какой намёк странный получил. Файл <? echo phpinfo(); ?> не работает (показывает исходный код страницы), а вот файл <?php echo phpinfo(); ?> показывает страницу phpinfo!!! Т.е. я действительно по отдельности и apache и php работают превосходно, но апач не хочет обрабатывать страницы при помощи php. Вот понять бы этот намёк насчёт разницы между <? и <?php - было проще...
 
Сверху