Использование PHP Virtual () для включения другого файла PHP не удается

У меня есть файлы HTML и PHP, которые включают HTML-код заголовка для моего сайта. В HTML-файлы я включаю этот заголовок, используя
<!--#include virtual="/top.ssi" -->,
В свою очередь top.ssi включает в себя другие файлы:
<!--#include virtual="/navbar.ssi" -->
<!--#include virtual="/advertising/slider_advertising.ssi" -->
и slider_advertising.ssi включает в себя:
<!--#include virtual="/advertising/advertising.php" -->
Это критически важный файл, поскольку он готовит рекламные данные для отображения.
Все вышеперечисленное прекрасно работает при запуске из файлов HTML.

Теперь у меня есть несколько PHP-управляемых веб-страниц (Logon.php), которые также хотят отображать заголовок сайта с помощью top.ssi. Этот код начинается с:

    <!DOCTYPE HTML>
<html>
<head><title>Login to HVmusic</title>
<?php
virtual("/top.ssi");
...

Здесь возникает проблема. virtual("/top.ssi"); выполняется нормально, но прекращает выполнение после того, как обнаружит файл PHP, включенный в top.ssi <!--#include virtual="/advertising/advertising.php" -->, Выводится вывод файла Advertising.php, а затем прекращается вывод PHP из logon.php. Таким образом, вывод останавливается даже без отображения всего заголовка.

Если я удалю заявление для <!--#include virtual="/advertising/advertising.php" --> затем logon.php отображает свою страницу нормально (без, конечно, того бита заголовка, который отображается Advertising.php). Итак, это говорит мне о том, что у PHP возникла проблема с файлом virtual (), который включает другой файл PHP.

Есть ли способ это исправить? Это какое-то известное ограничение в PHP? Я гуглил два дня и не могу найти упоминания об этой проблеме. Спасибо за любую помощь, которую вы можете предложить.

0

Решение

Спасибо за советы, которые прояснили мое мышление. Я только что преобразовал все свои веб-страницы в PHP, и это решило проблему. Большинство моих страниц были уже на PHP, так что конвертировать HTML-страницы было совсем не сложно. Все используемые мной файлы были легко конвертированы <? php require "filename"; ?> вместо <!--#include virtual="filename" -->

Основная проблема, вероятно, связана с некоторым конфликтом из-за запуска в PHP, а затем вызова virtual() который вызывает экземпляр apache, который затем вызывает другой экземпляр PHP для обработки включаемых файлов PHP, которые я использовал.

0

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]