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

index.html выполнит код PHP

У меня есть сервер с suPHP, Apache2 и PHP5.4.

Я заметил, что документ index.html будет выполнять код PHP, а test.html не будет выполнять код PHP. Конечно, я не хочу, чтобы код PHP выполнялся внутри файла index.html.

Я не знаю, где мне искать проблему. Я не нашел в своей конфигурации места, где я бы назначил php-обработчик каким-то не - *. Php-файлам.

Вот мои доступные моды / suphp.conf

<IfModule mod_suphp.c>
        <FilesMatch "\.ph(p3?|tml)$">
                SetHandler application/x-httpd-suphp
        </FilesMatch>
        suPHP_AddHandler application/x-httpd-suphp

#       suPHP_PHPPath /usr/bin/php
        <FilesMatch "\.phps$">
                SetHandler application/x-httpd-php-source
#               Order allow,deny
#               Allow from all
        </FilesMatch>
        AddType application/x-httpd-php-source .phps
        suPHP_AddHandler application/x-httpd-php-source
#       AddHandler application/x-httpd-php-source

        <Directory />
                suPHP_Engine on
        </Directory>

    # By default, disable suPHP for debian packaged web applications as files
    # are owned by root and cannot be executed by suPHP because of min_uid.
# Benötigen wir für Nagios3
#       <Directory /usr/share>
#               suPHP_Engine off
#       </Directory>

# # Use a specific php config file (a dir which contains a php.ini file)
#       suPHP_ConfigPath /etc/php5/cgi/suphp/
# # Tells mod_suphp NOT to handle requests with the type <mime-type>.
#       suPHP_RemoveHandler <mime-type>
</IfModule>

Вот мои доступные моды / php5.conf

<IfModule mod_php5.c>
    <FilesMatch "\.ph(p3?|tml)$">
        SetHandler application/x-httpd-php
    </FilesMatch>
    <FilesMatch "\.phps$">
        SetHandler application/x-httpd-php-source
    </FilesMatch>
    # To re-enable php in user directories comment the following lines
    # (from <IfModule ...> to </IfModule>.) Do NOT set it to On as it
    # prevents .htaccess files from disabling it.
#    <IfModule mod_userdir.c>
#        <Directory /home/*/public_html>
#            php_admin_value engine Off
#        </Directory>
#    </IfModule>
</IfModule>

Проверьте свои файлы .htaccess на наличие следующего, так как вы могли бы включить там интерпретацию php:

AddType application/x-httpd-php .html .htm

Если это не сработает, выполните поиск по строке. Скорее всего, он где-то включен.

grep -rnw 'web_directory_here' -e "x-httpd-php"

Если вы где-нибудь найдете AddType, удалите его.

==

ОБНОВЛЕНИЕ: еще одно место для проверки - это ваши типы MIME apache, чтобы убедиться, что html не установлен на php. Убедитесь, что HTML нет ни в одной из строк ниже.

check in httpd/conf 
application/x-httpd-php phtml php php3 php4 php5 php6
application/x-httpd-php-source  phps

Вы цитируете свой доступный для модов / php5.conf. Включен ли ваш mod_php5, то есть есть ли у вас /etc/apache2/mods-enabled/php5.load? Если да, попробуйте a2dismod php5, так как не рекомендуется включать одновременно suphp и mod_php, по крайней мере, не глобально. Также попробуйте phpinfo () в вашем index.html, чтобы определить, какой модуль обрабатывает запрос.