Страница PHP с SQL, не выполняющим файлы SSI - PullRequest
0 голосов
/ 06 июля 2018

У меня есть php-сайт, который использует SSI-файлы для верхних и нижних колонтитулов, меню и т. Д., И все они работают правильно, когда они связаны с моей страницей PHP в каталог их локальной папки.

например: на странице PHP кодируется <?php require_once('ssi/menu.shtm'); ?> на странице, и она правильно отображает необходимое меню.

На этих страницах также есть данные, которые выводятся из базы данных SQL для построения страницы на основе того, что пользователь "нажал". Это также работает правильно.

Каждой отдельной странице теперь нужно отдельное меню, которое я добавил в дополнительное поле SQL , т.е. <?php require_once('ssi/menu.shtm'); ?> теперь отображается в соответствующем поле SQL для своей требуемой страницы.

Проблема: SSI не выполняется или не отображается на странице в браузере, когда он поступает из SQL. Если я просматриваю исходный код страницы в браузере, он имеет код, написанный точно так же, как в поле SQL, но не выполняет SSI. Если я просматриваю исходный код в «Firefox», он имеет курсив <?php require_once('ssi/menu.shtm'); ?> курсивом и красным цветом - когда я наводю на него курсор мыши, появляется это сообщение: Saw "<?". Probable cause: Attempt to use an XML processing instruction in HTML. (XML processing instructions are not supported in HTML.)

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

1 Ответ

0 голосов
/ 06 июля 2018

Если браузер возвращает <?php, это означает, что ваш PHP-скрипт не был выполнен и возвращается в виде открытого текста или HTML-содержимого. Ваша проблема связана с веб-сервером, который не обрабатывает его как скрипт PHP.

Поскольку SSI (SQL Management SSI ?, неясно, что это означает в этом контексте), если вы каким-либо образом пытаетесь включить файлы PHP без запуска их через PHP / PHP-CGI, это не будет работать.

...