Проблема с переходами по ссылкам в Drupal 6.16 при попытке включения FastCGI на хостинге через .htaccess

Главные вкладки

Аватар пользователя dancing_cat dancing_cat 20 марта 2010 в 21:23

При попытке включения поддержки fastcgi через .htaccess в корневом каталоге Drupal строчкой "AddHandler php-fastcgi .php" переход по некоторым ссылкам становится невозможен, т.к. браузер предлагает сохранить php-скрипт, который должен выполняться при нажатии на ссылку. Такими ссылками являются главная страница и некоторые ссылки в меню администрирования ("Блоки", "Меню", "Таксономия" ...). Переход по другим ссылкам ("Модули", "Содержимое", "Темы оформления" ...) выполняется без проблем, при этом ускорение в загрузке этих страниц при включении fastcgi наблюдается.
Проблема исчезает при удалении строки "AddHandler php-fastcgi .php" из .htaccess примерно через сутки.
Разрешение на использование .htaccess в каталоге и на использование fastcgi на хостинге есть.

Комментарии

Аватар пользователя axel axel 20 марта 2010 в 21:27

FastCGI в PHP сам по себе не даёт какого-либо прироста скорости, если что-то такое наблюдается - это миф. Чем не устроил mod_php?

Аватар пользователя Azerot Azerot 20 марта 2010 в 22:05

Неправда. Быстродействие fastCGI приближается к mod_php. В fastCGI работают акселераторы.
Кроме того fastCGI безопасней mod_php, потому что PHP-скрипты выполняются с правами пользователя владельца сайта, а не apache.

Автор, почему такое происходит у вас - без понятия. У меня несколько серверов, настроенных для fastCGI и нигде таких проблем нет. Возможно какие-либо кривые настройки самого модуля fastcgi для apache?

И ещё. Вы надеюсь при включении fastCGI запрещаете работу mod_php? Если нет, то вполне возможен их конфликт со всеми вытекающими.

Аватар пользователя axel axel 20 марта 2010 в 23:03

Azerot wrote:
Неправда. Быстродействие fastCGI приближается к mod_php. В fastCGI работают акселераторы.
Кроме того fastCGI безопасней mod_php, потому что PHP-скрипты выполняются с правами пользователя владельца сайта, а не apache.

Можно подумать, что в mod_php акселераторы не работают Smile Быстродействие mod_php и fastcgi можно считать примерно равным, поскольку из-за особенностей реализации fastcgi в php эти способы исполнения скриптов во многом схожи. И если уж говорить о безопасности то конфигурировать fastcgi следует не в .htaccess.

Аватар пользователя dancing_cat dancing_cat 21 марта 2010 в 0:00

"axel" wrote:
Чем не устроил mod_php?

Так же как и Azerot думаю, что использовать mod_php небезопасно.
"Azerot" wrote:
Вы надеюсь при включении fastCGI запрещаете работу mod_php? Если нет, то вполне возможен их конфликт со всеми вытекающими.

mod_php я и не использовал. И мне почему-то думается, что по дефолту на хостинге он не был включен. Подскажите как это проверить? Опыта у меня очень мало.
"axel" wrote:
конфигурировать fastcgi следует не в .htaccess.

Доступа к файлу конфигурации сервера нет. Где-то читал, что можно завести свой собственный, но не разобрался. Каким еще образом можно отконфигурировать fastcgi?
Спасибо за быстрое реагирование.

Аватар пользователя axel axel 21 марта 2010 в 6:44

dancing_cat wrote:
Доступа к файлу конфигурации сервера нет. Где-то читал, что можно завести свой собственный, но не разобрался. Каким еще образом можно отконфигурировать fastcgi?
Спасибо за быстрое реагирование.

На шаред-хостинге забота о безопасности вебсервера - на хостере. Если настройки не устраивают, проще сменить хостера. Т.к. возможностей по донастройке обычно мало. Просто от перевода на fastcgi работа сайта не станет ни быстрее, не безопаснее. Modphp полагаю включен, т.к. друпальский сайт же как-то работал до манипуляций c addhandler. А вот включить fastcgi, если этот модуль выключен в конфигруации вебсервера в .htaccess не получится. Проверить, как сконфигурирован PHP можно просмотрев результат phpinfo().

Перед тем как лезть в настройки рекомендую почитать как это всё работает и в чём разница между mod_php и fastcgi, а также понять особенности работы fastcgi в PHP. Читать например здесь: http://dklab.ru/chicken/nablas/49.html

Аватар пользователя Azerot Azerot 21 марта 2010 в 10:24

Quote:
Можно подумать, что в mod_php акселераторы не работают Smile Быстродействие mod_php и fastcgi можно считать примерно равным,

О чём я писал. Alex, неужели для вас новость, что у многих хостеров PHP работает просто в CGI режиме? И вот этот режим наименее производителен, но и наименее требователен к ресурсам, а также максимально безопасен.

dancing_cat, режим работы PHP вам должен настраивать ХОСТЕР, а не вы сами. В крайнем случае выбор данного режима должен быть в панели управления хостингом, но никак не через .htaccess. Пользуясь .htaccess вы можете внести настройки конфликтующие с настройками хостера. Кроме того, у хостера должен быть установлен модуль в apache под названием mod_fcgid, этот модуль должен быть разрешён для вашего виртуального хоста, AddHandler в итоге должен указывать на скрипт, запускающий fastCGI-сервер, чего у вас я не увидел.