Warning: Cannot use a scalar value as an array in /home/admin/public_html/forum/include/fm.class.php on line 757

Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/include/fm.class.php on line 770
Форумы портала PHP.SU :: Версия для печати :: работает ли ssi с php
Форумы портала PHP.SU » » HTTP и PHP » работает ли ssi с php

Страниц (1): [1]
 

1. Гость - 13 Июля, 2006 - 20:26:27 - перейти к сообщению
есть такой скрипт

<?php
print ("Content-type: text/htmlnn");
print("fgghe");
?>

и такой файл .html
<html>
<head>
<META http-equiv="Content-Type" content="text/html; charset=windows-1251">

<title>pawel</title>
</head>
<link href="1.css" rel="stylesheet" type="text/css">
<body>
<!--#include virtual="menu.html"-->
<!--#include virtual="cgi-bin/1.php" -->
<!--#include virtual="ind.html" -->
<!--#include virtual="menu1.html"-->
</body>
</html>

почему то не хочет работать
сервера small http и apache
нормально работают с 1.pl (то бишь perl)
если вставлять теги php в сам index.html
то тоже не канает
если же обратиться по http://localhost/cgi-bin/1.php
то все ОК

помогите чем сможете в долгу не останусь!
2. f0rm4t - 13 Июля, 2006 - 22:50:43 - перейти к сообщению
Вообще вопрос не правильный. SSI не может взаимодействовать с PHP. В твоем примере SSI только инклудит PHP-страницу, ничего более. Это равносильно использованию PHP "тегов" в самой HTML-странице.
Ну и несколько вопросов:
1. SSI и сервера сам настраивал?
2. Зачем держать PHP-скрипты в папке cgi-bin? Это ведь не CGI. В зависимости от настроек сервера может не робить из-за этого. Тем более что с перлом все OK.
3. Как ты вставлял PHP "теги", как ты выразился, в HTML-страницу?
3. Boss - 14 Июля, 2006 - 09:13:49 - перейти к сообщению
В php есть аналог SSI.
Изучай virtual на php.net ...
4. ARTY - 14 Июля, 2006 - 16:26:01 - перейти к сообщению
SSI - это включение на стороне сервера (Server Side Includes). Для одного документа нельзя применить более одного обработчика, тут уж или SSI или PHP, но вместе- нельзя.
Разработчики PHP предусмотрели эту неприятность и ввели в оборот функцию virtual, которая реально может заменить директиву <!--#include virtual="..."-->:
CODE (text):
скопировать код в буфер обмена
  1.  
  2. int virtual($string $url)
  3.  

Но учтите, что функция virtual() будет работать только в случае, если PHP установлен в качестве модуля, а не запускаетсмя отдельно (не CGI версия). Обычно virtual() используют для работы с SSI файлами сложной структуры или для запуска CGI приложений на других языках программирования.
А вообще, не вижу смысла использовать эту "эмуляцию" SSI, используйте стандартные функции require("file"); и include("file"); PHP.
5. Гость - 15 Июля, 2006 - 20:30:42 - перейти к сообщению
спасибо всем
интересно но скрипт все таки заработал на small http сервере
согласно вопросу насчет вставки тегов
то вставлял по формату xml
то есть
<?php
код
?>

 

Powered by ExBB FM 1.0 RC1