При попытке включения поддержки fastcgi через .htaccess в корневом каталоге Drupal строчкой "AddHandler php-fastcgi .php" переход по некоторым ссылкам становится невозможен, т.к. браузер предлагает сохранить php-скрипт, который должен выполняться при нажатии на ссылку. Такими ссылками являются главная страница и некоторые ссылки в меню администрирования ("Блоки", "Меню", "Таксономия" ...). Переход по другим ссылкам ("Модули", "Содержимое", "Темы оформления" ...) выполняется без проблем, при этом ускорение в загрузке этих страниц при включении fastcgi наблюдается.
Проблема исчезает при удалении строки "AddHandler php-fastcgi .php" из .htaccess примерно через сутки.
Разрешение на использование .htaccess в каталоге и на использование fastcgi на хостинге есть.
Комментарии
FastCGI в PHP сам по себе не даёт какого-либо прироста скорости, если что-то такое наблюдается - это миф. Чем не устроил mod_php?
Неправда. Быстродействие fastCGI приближается к mod_php. В fastCGI работают акселераторы.
Кроме того fastCGI безопасней mod_php, потому что PHP-скрипты выполняются с правами пользователя владельца сайта, а не apache.
Автор, почему такое происходит у вас - без понятия. У меня несколько серверов, настроенных для fastCGI и нигде таких проблем нет. Возможно какие-либо кривые настройки самого модуля fastcgi для apache?
И ещё. Вы надеюсь при включении fastCGI запрещаете работу mod_php? Если нет, то вполне возможен их конфликт со всеми вытекающими.
Можно подумать, что в mod_php акселераторы не работают Быстродействие mod_php и fastcgi можно считать примерно равным, поскольку из-за особенностей реализации fastcgi в php эти способы исполнения скриптов во многом схожи. И если уж говорить о безопасности то конфигурировать fastcgi следует не в .htaccess.
Так же как и Azerot думаю, что использовать mod_php небезопасно.
mod_php я и не использовал. И мне почему-то думается, что по дефолту на хостинге он не был включен. Подскажите как это проверить? Опыта у меня очень мало.
Доступа к файлу конфигурации сервера нет. Где-то читал, что можно завести свой собственный, но не разобрался. Каким еще образом можно отконфигурировать fastcgi?
Спасибо за быстрое реагирование.
На шаред-хостинге забота о безопасности вебсервера - на хостере. Если настройки не устраивают, проще сменить хостера. Т.к. возможностей по донастройке обычно мало. Просто от перевода на fastcgi работа сайта не станет ни быстрее, не безопаснее. Modphp полагаю включен, т.к. друпальский сайт же как-то работал до манипуляций c addhandler. А вот включить fastcgi, если этот модуль выключен в конфигруации вебсервера в .htaccess не получится. Проверить, как сконфигурирован PHP можно просмотрев результат phpinfo().
Перед тем как лезть в настройки рекомендую почитать как это всё работает и в чём разница между mod_php и fastcgi, а также понять особенности работы fastcgi в PHP. Читать например здесь: http://dklab.ru/chicken/nablas/49.html
О чём я писал. Alex, неужели для вас новость, что у многих хостеров PHP работает просто в CGI режиме? И вот этот режим наименее производителен, но и наименее требователен к ресурсам, а также максимально безопасен.
dancing_cat, режим работы PHP вам должен настраивать ХОСТЕР, а не вы сами. В крайнем случае выбор данного режима должен быть в панели управления хостингом, но никак не через .htaccess. Пользуясь .htaccess вы можете внести настройки конфликтующие с настройками хостера. Кроме того, у хостера должен быть установлен модуль в apache под названием mod_fcgid, этот модуль должен быть разрешён для вашего виртуального хоста, AddHandler в итоге должен указывать на скрипт, запускающий fastCGI-сервер, чего у вас я не увидел.