Проверка работоспособности сервера Apache и интерпретатора PHP

Сервер Apache.

Данный раздел сайта создан, отлажен и протестирован на домашнем компьютере с установленным сервером Apache, Perl, PHP, SendMail, MySQL, phpMyAdmin. Подробную информацию об установке и проверке работоспособности этих программных продуктов вы можете найти на страницах сайта.

В этом разделе вы можете также узнать (на работающих примерах) - как правильно включать в страницы сайта:

Директивы SSI

SSI - Server-Side Includes, включения на стороне сервера - набор команд, позволяющий значительно дополнить содержимое вашего ресурса необходимой информацией.

Perl скрипты.

Скрипты написанные на языке- интерпретаторе Perl не являются исполняемыми программами, содержащими описания данных и алгоритмы решения задачи, переведенные в инструкции на машинных кодах. Поэтому, для его выполнения, требуется интерпретатор, переводящий инструкции Perl из текстового формата в двоичный и, затем, выполняющих их на стороне сервера.

PHP скрипты.

PHP (PHP: Hypertext Preprocessor) - интерпретируемый язык программирования веб-приложений, код которого непосредственно включается в текст HTML- документов. Исполняется как модуль Apache (SAPI) или CGI-программа на стороне сервера. После обработки интерпретатором PHP, сервер заменяет код PHP результатом его выполнения и передает на браузер. Клиент получает сгенерированную PHP-скриптом страницу HTML (PDF, Flash, XML, PNG и др.).

 

Переписав или создав самостоятельно страницы сайта, аналогичные приведенным в этом разделе и разместив их в каталоге -

C:/httpserver.ru/www/

(если устанавливали сервер 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"-->



Главный сайт сервера Apache - скрипты php.

Так как, механизма 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 также способен автоматически генерировать и сохранять их в файловой системе сервера, организуя кеш динамического содержания, расположенный на сервере.

Чтобы отлаживать созданные вами или готовые php скрипты, на локальном (домашнем) компьютере, необходимо установить:

Apache HTTP Server 2.2.14

 Apache HTTP Server 2.2.14 
apache
Следуя, приведенным рекомендациям, вы получите
рабочий сервер Apache 2.2.14

Подробная информация по установке, на страницах: Apache — этапы установки и Apache 2.2.14 — установка.

и интерпретатор PHP из PHP 5.2.8 zip package

 PHP 5.2.8  
знак php
Следуя, приведенным рекомендациям, вы установите
интерпретатор PHP

Подробная информация по установке, на страницах: установка PHP 5.2.8 zip и установка PHP 5.2.8 installer.

После установки и проверки работоспособности сервера Apache и интерпретатора PHP,
можно приступать к созданию и тестированию скриптов php.


Создайте страницу с расширением .php, например - index.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 "$version\n"; ?></p>
</body>
</html>

Результат выполнения:

PHP Credits

PHP Group
Thies C. Arntzen, Stig Bakken, Shane Caraveo, Andi Gutmans, Rasmus Lerdorf, Sam Ruby, Sascha Schumann, Zeev Suraski, Jim Winstead, Andrei Zmievski

Language Design & Concept
Andi Gutmans, Rasmus Lerdorf, Zeev Suraski

PHP 5 Authors
Contribution Authors
Zend Scripting Language Engine Andi Gutmans, Zeev Suraski
Extension Module API Andi Gutmans, Zeev Suraski, Andrei Zmievski
UNIX Build and Modularization Stig Bakken, Sascha Schumann
Win32 Port Shane Caraveo, Zeev Suraski, Wez Furlong
Server API (SAPI) Abstraction Layer Andi Gutmans, Shane Caraveo, Zeev Suraski
Streams Abstraction Layer Wez Furlong, Sara Golemon
PHP Data Objects Layer Wez Furlong, Marcus Boerger, Sterling Hughes, George Schlossnagle, Ilia Alshanetsky

SAPI Modules
Contribution Authors
AOLserver Sascha Schumann
Apache 1.3 (apache_hooks) Rasmus Lerdorf, Zeev Suraski, Stig Bakken, David Sklar, George Schlossnagle, Lukas Schroeder
Apache 1.3 Rasmus Lerdorf, Zeev Suraski, Stig Bakken, David Sklar
Apache 2.0 Filter Sascha Schumann, Aaron Bannert
Apache 2.0 Handler Ian Holsman, Justin Erenkrantz (based on Apache 2.0 Filter code)
Caudium / Roxen David Hedbor
CGI / FastCGI Rasmus Lerdorf, Stig Bakken, Shane Caraveo, Dmitry Stogov
CLI Edin Kadribasic, Marcus Boerger, Johannes Schlueter
Continuity Alex Leigh (based on nsapi code)
Embed Edin Kadribasic
ISAPI Andi Gutmans, Zeev Suraski
NSAPI Jayakumar Muthukumarasamy, Uwe Schindler
phttpd Thies C. Arntzen
pi3web Holger Zimmermann
Sendmail Milter Harald Radi
thttpd Sascha Schumann
tux Sascha Schumann
WebJames Alex Waugh

Module Authors
Module Authors
Assert Thies C. Arntzen
BC Math Andi Gutmans
Bzip2 Sterling Hughes
Calendar Shane Caraveo, Colin Viebrock, Hartmut Holzgraefe, Wez Furlong
COM and .Net Wez Furlong
ctype Hartmut Holzgraefe
cURL Sterling Hughes
Date/Time Support Derick Rethans
DBA Sascha Schumann, Marcus Boerger
dBase Jim Winstead
DB-LIB (MS SQL, Sybase) Wez Furlong, Frank M. Kromann
DOM Christian Stocker, Rob Richards, Marcus Boerger
EXIF Rasmus Lerdorf, Marcus Boerger
FBSQL Frank M. Kromann
FDF Uwe Steinmann
Firebird/InterBase driver for PDO Ard Biesheuvel
FTP Stefan Esser, Andrew Skalski
GD imaging Rasmus Lerdorf, Stig Bakken, Jim Winstead, Jouni Ahto, Ilia Alshanetsky, Pierre-Alain Joye, Marcus Boerger
GetText Alex Plotnick
GNU GMP support Stanislav Malyshev
Iconv Rui Hirokawa, Stig Bakken, Moriyoshi Koizumi
IMAP Rex Logan, Mark Musone, Brian Wang, Kaj-Michael Lang, Antoni Pamies Olive, Rasmus Lerdorf, Andrew Skalski, Chuck Hagenbuch, Daniel R Kalowsky
Input Filter Rasmus Lerdorf, Derick Rethans, Pierre-Alain Joye, Ilia Alshanetsky
InterBase Jouni Ahto, Andrew Avdeev, Ard Biesheuvel
JSON Omar Kilani
LDAP Amitay Isaacs, Eric Warnke, Rasmus Lerdorf, Gerrit Thomson, Stig Venaas
LIBXML Christian Stocker, Rob Richards, Marcus Boerger, Wez Furlong, Shane Caraveo
mcrypt Sascha Schumann, Derick Rethans
mhash Sascha Schumann
mime_magic Hartmut Holzgraefe
MING Dave Hayden, Frank M. Kromann
mSQL Zeev Suraski
MS SQL Frank M. Kromann
Multibyte String Functions Tsukada Takuya, Rui Hirokawa
mySQL driver for PDO George Schlossnagle, Wez Furlong, Ilia Alshanetsky
MySQLi Zak Greant, Georg Richter, Andrey Hristov, Ulf Wendel
MySQL Zeev Suraski, Zak Greant, Georg Richter
ncurses Ilia Alshanetsky, Wez Furlong, Hartmut Holzgraefe, Georg Richter
OCI8 Stig Bakken, Thies C. Arntzen, Andy Sautins, David Benson, Maxim Maletsky, Harald Radi, Antony Dovgal, Andi Gutmans, Wez Furlong
ODBC driver for PDO Wez Furlong
ODBC Stig Bakken, Andreas Karajannis, Frank M. Kromann, Daniel R. Kalowsky
OpenSSL Stig Venaas, Wez Furlong, Sascha Kettler
Oracle (OCI) driver for PDO Wez Furlong
pcntl Jason Greene
Perl Compatible Regexps Andrei Zmievski
PHP Data Objects Wez Furlong, Marcus Boerger, Sterling Hughes, George Schlossnagle, Ilia Alshanetsky
PHP hash Sara Golemon, Rasmus Lerdorf, Stefan Esser, Michael Wallner
Posix Kristian Koehntopp
PostgreSQL driver for PDO Edin Kadribasic, Ilia Alshanetsky
PostgreSQL Jouni Ahto, Zeev Suraski, Yasuo Ohgaki, Chris Kings-Lynne
Pspell Vlad Krupin
Readline Thies C. Arntzen
Recode Kristian Kцhntopp
Reflection Marcus Boerger, Timm Friebe, George Schlossnagle, Andrei Zmievski, Johannes Schlueter
Sessions Sascha Schumann, Andrei Zmievski
Shared Memory Operations Slava Poliakov, Ilia Alshanetsky
SimpleXML Sterling Hughes, Marcus Boerger, Rob Richards
SNMP Rasmus Lerdorf, Harrie Hazewinkel, Mike Jackson, Steven Lawrance, Johann Hanne
SOAP Brad Lafountain, Shane Caraveo, Dmitry Stogov
Sockets Chris Vandomelen, Sterling Hughes, Daniel Beulshausen, Jason Greene
SPL Marcus Boerger
SQLite 3.x driver for PDO Wez Furlong
SQLite Wez Furlong, Tal Peer, Marcus Boerger, Ilia Alshanetsky
Sybase-CT Zeev Suraski, Tom May, Timm Friebe
Sybase-DB Zeev Suraski
System V Message based IPC Wez Furlong
System V Semaphores Tom May
System V Shared Memory Christian Cartus
tidy John Coggeshall, Ilia Alshanetsky
tokenizer Andrei Zmievski, Johannes Schlueter
WDDX Andrei Zmievski
XMLReader Rob Richards
xmlrpc Dan Libby
XML Stig Bakken, Thies C. Arntzen, Sterling Hughes
XMLWriter Rob Richards, Pierre-Alain Joye
XSL Christian Stocker, Rob Richards
Zip Pierre-Alain Joye
Zlib Rasmus Lerdorf, Stefan Roehrich, Zeev Suraski, Jade Nicoletti

PHP Documentation
Authors Mehdi Achour, Friedhelm Betz, Antony Dovgal, Nuno Lopes, Hannes Magnusson, Georg Richter, Damien Seguy, Jakub Vrana
Editor Philip Olson
User Note Maintainers Friedhelm Betz, Etienne Kneuss, Nuno Lopes, Hannes Magnusson, Felipe Pena, Maciek Sokolewicz
Other Contributors Previously active authors, editors and other contributors are listed in the manual.

PHP Quality Assurance Team
Ilia Alshanetsky, Joerg Behrens, Antony Dovgal, Stefan Esser, Moriyoshi Koizumi, Magnus Maatta, Sebastian Nohn, Derick Rethans, Melvyn Sopacua, Jani Taskinen

PHP Website Team
Hannes Magnusson, Colin Viebrock, Jim Winstead


Скрипт php - текущая дата и время.

Код php скрипта, выводящего информацию о текущей дате и текущее время:

Добавьте в страницу index.php следующий код:

<p>
<?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(""); ?>
</p>

Результат выполнения:

Сегодня: Tuesday September, 19 2017 - 16:24:09


Скрипт  php - простой счетчик посещений.

Код php скрипта, выводящего информацию о количестве посетителей:

Добавьте в страницу - 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 'Посетителей &nbsp;-&nbsp;'; echo $count;
17   ?>

Для записи количества посетителей нужно создать пустой текстовый файл с именем - count.txt. (См. строку 3 скрипта -     $filedata = 'count.txt';).
Файлы: phpcount.php и count.txt должны находиться в том же каталоге, что и файл - index.php.

Результат выполнения:

Warning: fread(): Length parameter must be greater than 0 in /home/virtwww/w_avege-ru_426a88c6/http/russian/tempsite/php/phpcount/phpcount.php on line 10 Посетителей  - 


Скрипт  php - вывод версий программного обеспечения сервера.

Код php скрипта, выводящего информацию о версиях ОС, PHP, Apache:

<?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 />";
?>

Результат выполнения:

ОС: Linux
Версия php: 5.5.15
Программное обеспечение сервера: Apache/2.2.17 (Unix) PHP/5.5.15
Имя сервера: avege.ru


 

Директивы SSI, скрипты Perl и PHP.

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

опубликовано - август 2003 г.
обновлено -
Valid CSS!
Valid XHTML 1.1
Warning: include(/var/www/avege/data/www/avege.ru/count0308.shtml): failed to open stream: No such file or directory in /home/virtwww/w_avege-ru_426a88c6/http/russian/tempsite/php/php01.php on line 1009 Warning: include(): Failed opening '/var/www/avege/data/www/avege.ru/count0308.shtml' for inclusion (include_path='.:') in /home/virtwww/w_avege-ru_426a88c6/http/russian/tempsite/php/php01.php on line 1009