Difference between revisions of "Windows Apache PHP"
(12 intermediate revisions by the same user not shown) | |||
Line 6: | Line 6: | ||
== Опитна постановка == | == Опитна постановка == | ||
− | #Да се импортира инсталация на Windows XP на виртуалната машина | + | #Да се импортира инсталация на Windows XP на виртуалната машина |
# <span style="color:red">Преди да се включи виртуалният компютър </span> мрежовата карта да се [[VirtualBox#Мостов адаптер / Bridged adapter|пренасочи към мрежовата карта на хост компютъра (мостов адаптер) и да се смени MAC адресът]] | # <span style="color:red">Преди да се включи виртуалният компютър </span> мрежовата карта да се [[VirtualBox#Мостов адаптер / Bridged adapter|пренасочи към мрежовата карта на хост компютъра (мостов адаптер) и да се смени MAC адресът]] | ||
#След включване на виртуалната машина [[Windows Name|да се смени името на компютъра]] на phpX, където X е номера на работната станция. | #След включване на виртуалната машина [[Windows Name|да се смени името на компютъра]] на phpX, където X е номера на работната станция. | ||
#Да се зададат на [[Windows Network| мрежовият интерфейс]] на PHP-сървъра следните настройки, където X е номера на работната станция: | #Да се зададат на [[Windows Network| мрежовият интерфейс]] на PHP-сървъра следните настройки, където X е номера на работната станция: | ||
− | #*IP: | + | #*IP: 10.3.45.14'''X'''/24, |
− | #*Gaytway: | + | #*Gaytway: 10.3.0.1 |
− | #*DNS: | + | #*DNS: 10.3.45.10'''X''' |
== Конфигуриране PHP, Apache, Windows== | == Конфигуриране PHP, Apache, Windows== | ||
Line 22: | Line 22: | ||
*Server name: apache.pcX.abv.bg | *Server name: apache.pcX.abv.bg | ||
*Administrator email: student@pcX.abv.bg | *Administrator email: student@pcX.abv.bg | ||
− | Инсталационен файл: http:// | + | Инсталационен файл: http://10.3.45.12/apache.msi |
=== Инсталация PHP === | === Инсталация PHP === | ||
Има две разновидности за Windows - "Thread Safe" - ако ще се използва Apache Web Server и "Non Thread Safe" - ако ще ползваме IIS Web Server.) | Има две разновидности за Windows - "Thread Safe" - ако ще се използва Apache Web Server и "Non Thread Safe" - ако ще ползваме IIS Web Server.) | ||
− | http:// | + | http://10.3.45.12/php.msi |
− | При използване на PHP с интегриран Windows инсталатор, всички настройки се конфигурират автоматично | + | При използване на PHP с интегриран Windows инсталатор, всички настройки се конфигурират автоматично. |
+ | |||
+ | *Apache 2.2.x Module | ||
+ | *Apache configuraton directory: C:\Program Files\Apache Software Foundation\Apache2.2\conf\ | ||
+ | |||
+ | |||
+ | проверете за следните настройки в httpd.conf | ||
+ | <code><pre> | ||
+ | PHPIniDir "C:/Program Files/PHP/" | ||
+ | LoadModule php5_module c:/PHP/php5apache2_2.dll | ||
+ | AddType application/x-httpd-php .php | ||
+ | </pre></code> | ||
+ | Намерете записът за автоматично отваряне на файл и добавете index.php: | ||
+ | <code><pre> | ||
+ | <IfModule dir_module> | ||
+ | DirectoryIndex index.php index.html | ||
+ | </IfModule> | ||
+ | </pre></code> | ||
+ | - Рестартирайте Apache | ||
== DNS == | == DNS == | ||
Line 38: | Line 56: | ||
Създайте текствов файл index.php и добавете в него: | Създайте текствов файл index.php и добавете в него: | ||
<code><pre> | <code><pre> | ||
− | <?php // PHP | + | <?php // PHP skriptyt zapochva s <?php или <? |
phpinfo(); | phpinfo(); | ||
− | // | + | // i zavyrshwa s ?> |
?> | ?> | ||
</pre></code> | </pre></code> | ||
+ | |||
Качете файла на web сървъра и го заредете през web браузъра. Ако след извикването на файла се изведе системната информация за php, сървърът работи. | Качете файла на web сървъра и го заредете през web браузъра. Ако след извикването на файла се изведе системната информация за php, сървърът работи. | ||
− | == | + | == Глобални променливи == |
Да се тестват глобалните променливи на PHP - $_SERVER, $_POST, $_GET. | Да се тестват глобалните променливи на PHP - $_SERVER, $_POST, $_GET. | ||
<code><pre> | <code><pre> | ||
Line 74: | Line 93: | ||
if( isset($_POST['name'])) //проверка за съществуване на променлива | if( isset($_POST['name'])) //проверка за съществуване на променлива | ||
{ // В PHP има асоциативни променливи | { // В PHP има асоциативни променливи | ||
− | fwrite($fd, "<p>Име: $_POST[name] \r\n"); | + | fwrite($fd, "<p>Име: $_POST[name] \r\n"); //Когато стрингът е в двойни кавички, той се интерпретира |
− | fwrite($fd, "<br /> $_POST[comment] </p> \r\n"); | + | fwrite($fd, "<br /> $_POST[comment] </p> \r\n"); // Заместват се променливите и специалните символи |
} | } | ||
− | fseek($fd, 0); | + | fseek($fd, 0); // връщане на показалеца на файла в 0 байт |
− | $comments = fread($fd, filesize($file)); | + | $comments = fread($fd, filesize($file)); // четене от файл |
fclose($fd ); | fclose($fd ); | ||
?> | ?> |
Latest revision as of 07:56, 26 March 2014
PHP е скриптов език за програмиране използван за сървърни приложения и e най-популярния за разработване на динамично уеб-съдържание. Автор на езика е датчанинът от канадски произход Размус Лердорф.
Contents
Цел на упражнението
Конфигуриране на PHP/Apache Windows Web server.
Опитна постановка
- Да се импортира инсталация на Windows XP на виртуалната машина
- Преди да се включи виртуалният компютър мрежовата карта да се пренасочи към мрежовата карта на хост компютъра (мостов адаптер) и да се смени MAC адресът
- След включване на виртуалната машина да се смени името на компютъра на phpX, където X е номера на работната станция.
- Да се зададат на мрежовият интерфейс на PHP-сървъра следните настройки, където X е номера на работната станция:
- IP: 10.3.45.14X/24,
- Gaytway: 10.3.0.1
- DNS: 10.3.45.10X
Конфигуриране PHP, Apache, Windows
Инсталация Apache
Да се инсталира Apache със следните настройки:
- Network Domain: pcX.abv.bg
- Server name: apache.pcX.abv.bg
- Administrator email: student@pcX.abv.bg
Инсталационен файл: http://10.3.45.12/apache.msi
Инсталация PHP
Има две разновидности за Windows - "Thread Safe" - ако ще се използва Apache Web Server и "Non Thread Safe" - ако ще ползваме IIS Web Server.)
При използване на PHP с интегриран Windows инсталатор, всички настройки се конфигурират автоматично.
- Apache 2.2.x Module
- Apache configuraton directory: C:\Program Files\Apache Software Foundation\Apache2.2\conf\
проверете за следните настройки в httpd.conf
PHPIniDir "C:/Program Files/PHP/"
LoadModule php5_module c:/PHP/php5apache2_2.dll
AddType application/x-httpd-php .php
Намерете записът за автоматично отваряне на файл и добавете index.php:
<IfModule dir_module>
DirectoryIndex index.php index.html
</IfModule>
- Рестартирайте Apache
DNS
- Да се се конфигурира към зоновия файл на pcX.abv.bg, така че pcX.abv.bg да сочи към 192.168.0.20Х.
Тестване
Създайте текствов файл index.php и добавете в него:
<?php // PHP skriptyt zapochva s <?php или <?
phpinfo();
// i zavyrshwa s ?>
?>
Качете файла на web сървъра и го заредете през web браузъра. Ако след извикването на файла се изведе системната информация за php, сървърът работи.
Глобални променливи
Да се тестват глобалните променливи на PHP - $_SERVER, $_POST, $_GET.
<html>
<head>
<title>Globals</title>
</head>
<body>
<?php
print_r($_SERVER);
print "<br />";
print_r($_GET);
print "<br />";
print_r($_POST);
?>
</body>
</html>
Форма за коментари
Да създаде уеб страница за оставяне на коментари.
<?php
$file = 'comments.txt'; // Променливите в PHP започват с $ и не е нужно да се инициализират
$fd = fopen( $file, 'a+'); // отваряне на файл за четене
if( isset($_POST['name'])) //проверка за съществуване на променлива
{ // В PHP има асоциативни променливи
fwrite($fd, "<p>Име: $_POST[name] \r\n"); //Когато стрингът е в двойни кавички, той се интерпретира
fwrite($fd, "<br /> $_POST[comment] </p> \r\n"); // Заместват се променливите и специалните символи
}
fseek($fd, 0); // връщане на показалеца на файла в 0 байт
$comments = fread($fd, filesize($file)); // четене от файл
fclose($fd );
?>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>Untitled Document</title>
</head>
<body>
<form action="" method="post">
<table>
<tr>
<td>ime</td>
<td><input type="text" name="name" value="" maxlength="100" /></td>
</tr>
<tr>
<td>komentar</td>
<td><textarea rows="3" cols="20" name="comment"></textarea></td>
</tr>
<tr>
<td colspan="2"><input name="submit" type="submit" value="Submit" /></td>
</tr>
</table>
</form>
<?php print $comments ?>
</body>
</html>
Фишинг / Phishing
Да се създаде фишинг страница на abv.bg.