Данный раздел сайта создан, отлажен и протестирован на домашнем компьютере с установленным сервером 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 | 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 avege.ru Port 80 |
SERVER_SOFTWARE | Apache/2.2.14 (Win32) PHP/5.2.8 |
SERVER_NAME | 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 скриптов.