Я только что установил Apache22, PHP 5 с модулем Apache и MySQL. В файле конфигурации Apache есть строка PHP LoadModule, но он по-прежнему отображает исходный код PHP. Есть ли другие причины, по которым это происходит?
Я думаю, вам может потребоваться установить тип приложения, чтобы он знал, как использовать модуль php на основе расширения файла или чего-то еще.
Я не использую FreeBSD, поэтому не знаю процесс установки. В Windows и Ubuntu / Linux Mint это делается автоматически.
Это то, что у меня есть в файле php5.conf (именно так он организован в Ubuntu), но его можно просто поместить в http.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>
Одна из частых причин - вы используете короткий открытый тег PHP. <?
но в PHP есть short_open_tag
отключен.
Самое простое решение - добавить строку:
AddType application/x-httpd-php .php
в httpd.conf. Наиболее правильное решение описано в ответе Gohn67.