Я переместил веб-сайт с другого сервера на свой, и есть файл PHP с расширением .ph. На другом сервере все работало нормально, но не на новом. Он просто пытается загрузить файл, о котором идет речь, вместо того, чтобы отправлять его через синтаксический анализатор PHP.
Очевидно, это касается файловых обработчиков, поэтому мне нужно добавить расширение .ph, которое будет обрабатываться как файл .php. Я думал, что это было тривиально, но все равно не мог этого сделать :) Это как-то изменилось в Apache2, и я не могу этого понять.
Я пытался установить обработчик в mime.conf и /etc/mime.types. Пока ничего.
Из-за сложности приложения мне бы не пришлось менять расширение файла. Может ли кто-нибудь указать мне правильное направление? Это не должно быть так сложно :)
Я использую Apache 2.2.17 и PHP 5.3.5 на Ubuntu 11.04.
попробуйте это после изменения конфигурации mime
перезапуск службы apache2
или отредактируйте свой httpd.conf
Обновлено и протестировано:
AddHandler type-map var
AddHandler php5-script .ph
AddType text/html .php
Проблема, похоже, заключалась в том, что у меня было это определение в моем файле /etc/apache2/mods-available/php5.conf:
<FilesMatch "\.ph(p3?|tml)$">
SetHandler application/x-httpd-php
</FilesMatch>
Шаблон регулярного выражения ожидал, что либо p3, либо tml оканчиваются на .ph - prefix.
Самым простым решением было просто добавить:
<FilesMatch "\.ph$">
SetHandler application/x-httpd-php
</FilesMatch>
в файл. Теперь работает как шарм.