2009-07-07 5 views
4

My ISP требует, чтобы я поместил следующее в моих файлах .htaccess:Как поддержать "AddType х-преб-php5 .php" на моей машине развития

AddType x-mapp-php5 .php 

Но это разрушает мою машину развития.

Я действительно не понимаю, для чего предназначена эта директива, но мне больно комментировать ее для dev и раскомментировать ее, когда мне нужно загрузить новую версию.

Есть ли способ поддержать его в dev?

ответ

7

Вы можете попробовать директиву Apache , чтобы отличить вашу машину разработки от производственной машины.

E.g. следующий будет работать, если вы используете PHP как модуль Apache, и ваш провайдер работает как CGI:

<IfModule !mod_php5.c> 
AddType x-mapp-php5 .php 
</IfModule> 

Вы также можете проверить наличие модуля PHP4.

Или вы можете передать параметр запуска Apache на свою машину разработки и проверить это с помощью <IfDefine>.

+0

Спасибо mercator, Это могло бы просто сработать. ISP предлагает php4 по умолчанию, поэтому я должен включить эту строку (чтобы перейти на php5). Мой сервер разработки имеет только php5. Поэтому проверка PHP4 звучит как разумный подход. –

+0

Отлично, ваш фрагмент кода работал без изменений. Пока мой интернет-провайдер не меняет способ предоставления PHP5 неожиданно, я буду в порядке, скрестив пальцы. –

1

Это просто говорит веб-серверу, что файлы с расширением .php должны обрабатываться модулем PHP.

Но я бы порекомендовал задать вопросы, связанные с веб-сервером, на сервере serverfault.com, где ваш вопрос не будет закрыт (с причиной принадлежит serverfault.com), и где вы получите гораздо лучшие ответы, чем здесь.

+0

конкретно, модуль PHP5 –

+0

Интересно, что у моего httpd.conf есть приложение AddType/x-httpd-php .php. Поэтому я предполагаю, что мой php-модуль распознает application/x-httpd-php, но php-модуль моего ISP-сервера распознает x -mapp-php5. Возможно, потому что их php_module по умолчанию - PHP4. –