Бывает ли когда-нибудь ситуация, когда включение на стороне сервера является лучшим выбором, чем PHP?

Я спрашиваю о статических веб-страницах, которые включают файлы, такие как заголовки, нижние колонтитулы и т. Д. Очевидно, что создание динамического сайта с SSI было бы лучше сделать с помощью PHP.

Есть ли когда-либо причина делать

<!--#include virtual="../quote.txt" -->

вместо

<?php include("../quote.txt"); ?>

(или эквивалент на другом языке)?

Я спрашиваю, потому что мне было поручено обновить веб-сайт, который в настоящее время использует SSI для включения одного и того же заголовка на разных страницах.


person Tom Marthenal    schedule 12.10.2011    source источник


Ответы (3)


Если вы не используете какой-либо другой PHP на странице, использование SSI означает, что вашим процессам Apache не нужно загружать интерпретатор PHP для создания и обслуживания HTML.

person ceejayoz    schedule 12.10.2011

include не является PHP-эквивалентом #include virtual, это будет: virtualДокументы .

Так что дело не только в том, что вы можете имитировать с помощью PHP то, что делают директивы SSI.

Вы даже можете запускать PHP через SSI, если у вас настроен обработчик CGI. И вы можете запускать SSI, если mod_php включен.

Так что это может быть полезно знать, если вы переделываете текущий сайт и, вероятно, думаете об отказе от SSI.

Дополнительные сведения см. в модуле Apache mod_include.

person hakre    schedule 12.10.2011

Есть некоторые обстоятельства, когда SSI действительно может быть полезным, например. когда приложение кеширует отображаемые страницы, и вам нужно очистить кеш, но вы не хотите очищать все страницы из-за простого изменения меню. Затем вы можете просто заменить меню или несколько меню с помощью ssi include и просто очистить файлы меню при изменении, оставив кэшированные страницы нетронутыми.

person macbert    schedule 30.03.2017