Apache отправляет файлы php в мой браузер вместо анализа
Я должен настроить PHP на существующем веб-хосте. Я сделал запись виртуального хоста, но по какой-то причине Apache отправляет PHP в браузер, а не анализирует... из-за поиска в гугле это похоже на проблему с mimetypes, но я ни в коем случае не эксперт Apache, так что если кто-то может помочь, это будет оценено...
У меня есть следующее в моем httpd.conf:
AddHandler php5-script php
DirectoryIndex index.html index.phtml index.php index.phps
AddType application/x-httpd-php .phtml
AddType application/x-httpd-php .php
AddType application/x-httpd-php-source .phps
Модуль PHP загружается в Apache:
/usr/sbin/apachectl -M
Загруженные модули:
core_module (static)
mpm_prefork_module (static)
http_module (static)
so_module (static)
auth_basic_module (shared)
auth_digest_module (shared)
authn_file_module (shared)
authn_alias_module (shared)
authn_anon_module (shared)
authn_dbm_module (shared)
authn_default_module (shared)
authz_host_module (shared)
authz_user_module (shared)
authz_owner_module (shared)
authz_groupfile_module (shared)
authz_dbm_module (shared)
authz_default_module (shared)
ldap_module (shared)
authnz_ldap_module (shared)
include_module (shared)
log_config_module (shared)
logio_module (shared)
env_module (shared)
ext_filter_module (shared)
mime_magic_module (shared)
expires_module (shared)
deflate_module (shared)
headers_module (shared)
usertrack_module (shared)
setenvif_module (shared)
mime_module (shared)
dav_module (shared)
status_module (shared)
autoindex_module (shared)
info_module (shared)
dav_fs_module (shared)
vhost_alias_module (shared)
negotiation_module (shared)
dir_module (shared)
actions_module (shared)
speling_module (shared)
userdir_module (shared)
alias_module (shared)
rewrite_module (shared)
proxy_module (shared)
proxy_balancer_module (shared)
proxy_ftp_module (shared)
proxy_http_module (shared)
proxy_connect_module (shared)
cache_module (shared)
suexec_module (shared)
disk_cache_module (shared)
file_cache_module (shared)
mem_cache_module (shared)
cgi_module (shared)
version_module (shared)
fcgid_module (shared)
perl_module (shared)
php5_module (shared)
proxy_ajp_module (shared)
ssl_module (shared)
И это моя запись виртуального хоста:
<VirtualHost 10.16.140.113:80>
ServerName viridor-cms.co.uk
ServerAlias www.viridor-cms.co.uk
UseCanonicalName Off
DocumentRoot /var/www/vhosts/viridor-cms.co.uk/httpdocs
CustomLog /var/www/vhosts/viridor-cms.co.uk/cms-access_log common
ErrorLog /var/www/vhosts/viridor-cms.co.uk/cms-error_log
DirectoryIndex index.php index.html
<IfModule sapi_apache2.c>
php_admin_flag engine on
php_admin_flag safe_mode on
</IfModule>
<IfModule mod_php5.c>
php_admin_flag engine on
php_admin_flag safe_mode on
</IfModule>
AddType application/x-httpd-php .php
AddType application/x-httpd-php-source .phps
</VirtualHost>
Пожалуйста, помогите, моя голова так болит от удара о стол и стену!
Спасибо за ответ..:)
я добавил ваше предложение
[warn] модуль php5_module уже загружен, пропуская
Остановка httpd: [ OK ] Запуск httpd: [Пн 24 мая 15:02:27 2010] [warn] модуль php5_module уже загружен, пропуск [OK]
но сервер все еще отправляет файл application/a-httpd-php в браузер..
URL-адрес - http://viridor-cms.co.uk/ и для записи в файл локального хоста необходимо:
89.206.183.89 viridor-cms.co.uk
Спасибо:)
2 ответа
Добавьте любимые строки в ваш httpd.conf или apache2.conf
<IfModule mod_php5.c>
AddType application/x-httpd-php .php .phtml .php3
</IfModule>& удалить строку addhandler AddHandler php5-script php
затем перезапустите Apache.
apache поймет, что механизм php будет использоваться для расширений.php этой строковой программой /"x-httpd-php"
Вносили ли вы какие-либо изменения в конфигурационный файл Apache без перезапуска Apache?
# /etc/init.d/httpd restart
Кроме того, попробуйте добавить эту строку (хотя модуль PHP кажется загруженным):
LoadModule php5_module modules/libphp5.so
Возможно, вам придется заменить modules/libphp5.so абсолютным путем к модулю PHP.