Данный раздел сайта создан, отлажен и протестирован на домашнем компьютере с установленным сервером Apache, Perl, PHP, SendMail, MySQL, phpMyAdmin. Подробную информацию об установке и проверке работоспособности этих программных продуктов вы можете найти на страницах сайта.
В этом разделе вы можете также узнать (на работающих примерах) - как правильно включать в страницы сайта:
SSI - Server-Side Includes, включения на стороне сервера - набор команд, позволяющий значительно дополнить содержимое вашего ресурса необходимой информацией.
Скрипты написанные на языке- интерпретаторе Perl не являются исполняемыми программами, содержащими описания данных и алгоритмы решения задачи, переведенные в инструкции на машинных кодах. Поэтому, для его выполнения, требуется интерпретатор, переводящий инструкции Perl из текстового формата в двоичный и, затем, выполняющих их на стороне сервера.
PHP (PHP: Hypertext Preprocessor) - интерпретируемый язык программирования веб-приложений, код которого непосредственно включается в текст HTML- документов. Исполняется как модуль Apache (SAPI) или CGI-программа на стороне сервера. После обработки интерпретатором PHP, сервер заменяет код PHP результатом его выполнения и передает на браузер. Клиент получает сгенерированную PHP-скриптом страницу HTML (PDF, Flash, XML, PNG и др.).
Переписав или создав самостоятельно страницы сайта, аналогичные приведенным в этом разделе и разместив их в каталоге -
(если устанавливали сервер Apache по приведенным здесь рекомендациям), вы получите главный сайт сервера Apache. Он будет установлен на последних, доступных в настоящее время версиях серверных программных продуктов:
Apache 2.2.14,
ActivePerl-5.8.8.824,
PHP 5.2.8,
MySQL 6.0,
phpMyAdmin 2.11.6
Таким образом, вы будете иметь самое современное серверное программное обеспечение, какое не сможет вам предоставить ни один хостинг-провайдер.
Ниже вы видите календарь. Это результат выполнения Perl скрипта, вызванного директивой:
<!--#include virtual="/cgi-bin/calendar.cgi"-->
Так как, механизма SSI (Server Side
Include - включения на стороне сервера) бывает недостаточно, то для
сложных задач рекомендуется использование PHP.
PHP (PHP: Hypertext Preprocessor) - интерпретируемый язык
программирования веб-приложений, код которого непосредственно включается
в текст HTML- документов и имеющий много общего с C, Java и Perl.
Исполняется как модуль Apache (SAPI) или CGI-программа на стороне
сервера. После обработки интерпретатором PHP, сервер заменяет код
PHP результатом его выполнения и передает на браузер. Клиент получает
сгенерированную PHP-скриптом страницу HTML (PDF, Flash, XML, PNG
и др.). PHP был создан специально для разработки Web-приложений.
Начиная с пятой версии, PHP наряду с процедурным, включает некоторые
механизмы поддерживающие философию объектно-ориентированного программирования
(ООП), которая в предыдущих версиях была только обозначена.
Возможности PHP не ограничиваются только генерацией HTML-страниц.
Имеется механизмы для формирования изображений, PDF и Flash (используя
libswf и Ming) файлов, выдачи любых текстовых данных. PHP также способен
автоматически генерировать и сохранять их в файловой системе сервера,
организуя кеш динамического содержания, расположенный на сервере.
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=windows-1251" />
<title>скрипт php</title>
</head>
<body>
<p><?php echo 'Вы уже используете скрипты на языке PHP'; ?></p>
</body>
</html>
Результат выполнения:
Добавьте в страницу index.php следующий код:
<?php
function date_time ($date, $time=0) {
$time = time();
$date = " l F, j Y - H:i:s";
$clock = date($date, $time);
return $clock;
}
?>
Сегодня: <?php echo date_time(""); ?>
Результат выполнения:
Добавьте в страницу - index.php следующий код:
<p><?php include( "phpcount.php" ); ?></p>
Затем создайте страницу - phpcount.php и запишите код php, приведенный ниже. На странице должен быть только этот код.
1 <?php
2 error_reporting(E_ALL ^ E_NOTICE);
3
$filedata = 'count.txt';
4
if ( !file_exists( $filedata ) ) {
5
die (' Ошибка в файле phpcount - строка 3! Невозможно открыть файл статистики - count.txt');
6
} elseif ( !is_writable( $filedata ) ) {
7
if ( $windows ) { chmod( $filedata,777 ); } else { chmod( $filedata,O777 ); }
8
}
9
$FILE = fopen( "$filedata", "r" );
10 $count = fread( $FILE, filesize( "$filedata" ) );
11
fclose($FILE );
12
$FILE = fopen( "$filedata", "w" );
13
$count++;
14
fwrite( $FILE, $count );
15
fclose( $FILE);
16 echo 'Посетителей - '; echo $count;
17
?>
Для записи количества посетителей нужно создать пустой текстовый файл с именем - count.txt. (См. строку 3 скрипта -
$filedata = 'count.txt';).
Файлы: phpcount.php и count.txt должны находиться в том же каталоге, что и файл - index.php.
Результат выполнения:
<?php
$ret = apache_getenv("HTTP_HOST"); echo $ret; ?>
<?php $ret = apache_getenv("HTTP_ACCEPT"); echo $ret; ?>
<?php $ret = apache_getenv("HTTP_ACCEPT_LANGUAGE"); echo $ret; ?>
<?php $ret = apache_getenv("HTTP_ACCEPT_CHARSET"); echo $ret; ?>
<?php $ret = apache_getenv("HTTP_ACCEPT_ENCODING");
echo $ret;
?><?php $ret = apache_getenv("HTTP_CONNECTION"); echo $ret; ?>
<?php $ret = apache_getenv("PATH"); echo $ret; ?>
<?php $ret = apache_getenv("SystemRoot"); echo $ret; ?>
<?php $ret = apache_getenv("COMSPEC"); echo $ret; ?>
<?php $ret = apache_getenv("PATHEXT"); echo $ret; ?>
<?php $ret = apache_getenv("WINDIR"); echo $ret; ?>
<?php $ret = apache_getenv("SERVER_SIGNATURE"); echo $ret; ?>
<?php $ret = apache_getenv("SERVER_SOFTWARE"); echo $ret; ?>
<?php $ret = apache_getenv("SERVER_NAME"); echo $ret; ?>
<?php $ret = apache_getenv("WINDIR"); echo $ret; ?>
<?php $ret = apache_getenv("SERVER_PORT"); echo $ret; ?>
<?php $ret = apache_getenv("REMOTE_ADDR"); echo $ret; ?>
<?php $ret = apache_getenv("WINDIR"); echo $ret; ?>
<?php $ret = apache_getenv("SERVER_ADMIN"); echo $ret; ?>
<?php $ret = apache_getenv("SCRIPT_FILENAME"); echo $ret; ?>
<?php $ret = apache_getenv("REMOTE_PORT"); echo $ret; ?>
<?php $ret = apache_getenv("GATEWAY_INTERFACE"); echo $ret; ?>
<?php $ret = apache_getenv("SERVER_PROTOCOL"); echo $ret; ?>
<?php $ret = apache_getenv("REQUEST_METHOD"); echo $ret; ?>
<?php $ret = apache_getenv("QUERY_STRING"); echo $ret; ?>
<?php $ret = apache_getenv("REQUEST_URI"); echo $ret; ?>
<?php $ret = apache_getenv("SCRIPT_NAME"); echo $ret; ?>
<?php $ret = apache_getenv("PHP_SELF"); echo $ret; ?>
<?php $ret = apache_getenv("REQUEST_TIME"); echo $ret; ?>
<?php $ret = apache_getenv("Path"); echo $ret; ?>
<?php $ret = apache_getenv("PATHEXT"); echo $ret; ?>
| Имя | Описание |
| HTTP_HOST | www.avege.ru |
| HTTP_ACCEPT_LANGUAGE | ru-ru,ru;q=0.8,en-us;q=0.5,en;q=0.3 |
| HTTP_ACCEPT_CHARSET | windows-1251,utf-8;q=0.7,*;q=0.7 |
| HTTP_ACCEPT_ENCODING | gzip,deflate |
| HTTP_CONNECTION | keep-alive |
| PATH | C:\Perl\bin;C:\usr\site\bin;C:\usr\bin;C:\program files\common files\Siemens\Sqlany;C:\Program Files\Siemens\Step7\S7bin;C:\WINDOWS\system32;C:\WINDOWS;C:\WINDOWS\System32\Wbem;C:\usr\php; |
| SystemRoot | C:\WINDOWS |
| COMSPEC | C:\WINDOWS\system32\cmd.exe |
| PATHEXT | .COM;.EXE;.BAT;.CMD;.VBS;.VBE;.JS;.JSE;.WSF;.WSH |
| WINDIR | C:\WINDOWS |
| SERVER_SIGNATURE | Apache/2.2.14 (Win32) PHP/5.2.8 Server at www.avege.ru Port 80 |
| SERVER_SOFTWARE | Apache/2.2.14 (Win32) PHP/5.2.8 |
| SERVER_NAME | www.avege.ru |
| SERVER_ADDR | C:\WINDOWS |
| SERVER_PORT | 80 |
| REMOTE_ADDR | 127.0.0.4 |
| DOCUMENT_ROOT | C:\WINDOWS |
| SERVER_ADMIN | webmaster@avege.ru |
| SCRIPT_FILENAME | C:/www/docs/avege.ru/www/russian/tempsite/php/index00.php |
| REMOTE_PORT | 3865 |
| GATEWAY_INTERFACE | CGI/1.1 |
| SERVER_PROTOCOL | HTTP/1.1 |
| REQUEST_METHOD | GET |
| QUERY_STRING | |
| REQUEST_URI | /russian/tempsite/php/index00.php |
| SCRIPT_NAME | /russian/tempsite/php/index00.php |
| PHP_SELF | |
| REQUEST_TIME | |
| _ENV[Path] | C:\Perl\bin;C:\usr\site\bin;C:\usr\bin;C:\program files\common files\Siemens\Sqlany;C:\Program Files\Siemens\Step7\S7bin;C:\WINDOWS\system32;C:\WINDOWS;C:\WINDOWS\System32\Wbem;C:\usr\php; |
| _ENV[PATHEXT] | .COM;.EXE;.BAT;.CMD;.VBS;.VBE;.JS;.JSE;.WSF;.WSH |
<?php
$os = @PHP_OS;
$php = phpversion();
$soft = getenv("SERVER_SOFTWARE");
$name1 = $_SERVER['SERVER_NAME'];
echo "ОС: $os<br />";
echo "Версия php: $php<br />";
echo "Программное обеспечение сервера: $soft<br />";
echo "Имя сервера: $name<br />";
?>
Результат выполнения:

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