Difference between revisions of "Windows Apache PHP"

From Ilianko
(No difference)

Revision as of 10:26, 19 March 2012

PHP е скриптов език за програмиране използван за сървърни приложения и e най-популярния за разработване на динамично уеб-съдържание. Автор на езика е датчанинът от канадски произход Размус Лердорф.

Цел на упражнението

Конфигуриране на PHP/Apache Windows Web server.

Опитна постановка

  1. Да се импортира инсталация на Windows XP на виртуалната машина, от директория D:/it, като файлът на диска на виртуалната машина се запише на D:/ime/*.vmdk
  2. Преди да се включи виртуалният компютър мрежовата карта да се пренасочи към мрежовата карта на хост компютъра (мостов адаптер) и да се смени MAC адресът
  3. След включване на виртуалната машина да се смени името на компютъра на phpX, където X е номера на работната станция.
  4. Да се зададат на мрежовият интерфейс на PHP-сървъра следните настройки, където X е номера на работната станция:
    • IP: 192.168.0.20X/24,
    • Gaytway: 192.168.0.11
    • DNS: 192.168.0.10X

Конфигуриране PHP, Apache, Windows

Инсталация Apache

Да се инсталира Apache със следните настройки:

  • Network Domain: pcX.abv.bg
  • Server name: apache.pcX.abv.bg
  • Administrator email: student@pcX.abv.bg

Инсталационен файл: http://192.168.0.99/apache.msi

Инсталация PHP

Има две разновидности за Windows - "Thread Safe" - ако ще се използва Apache Web Server и "Non Thread Safe" - ако ще ползваме IIS Web Server.)

http://192.168.0.11/php.msi

При използване на PHP с интегриран Windows инсталатор, всички настройки се конфигурират автоматично.

  • Apache 2.2.x Module
  • Apache configuraton directory: C:\Program Files\Apache Software Foundation\Apache2.2\conf\

DNS

  • Да се се конфигурира към зоновия файл на pcX.abv.bg, така че pcX.abv.bg да сочи към 192.168.0.20Х.

Тестване

Създайте текствов файл index.php и добавете в него:

<?php // PHP скриптът започва с <?php или <?
 phpinfo(); 
 // и завършва с ?> 
?> 

Качете файла на 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.