Практическое занятие 1 - Международный банковский институт

advertisement
МЕЖДУНАРОДНЫЙ БАНКОВСКИЙ ИНСТИТУТ
INTERNATIONAL BANKING INSTITUTE
Практическое занятие 1
Цель: создание инструментальной
и отладки PHP-скриптов.
среды
для
разработки
Мы уже знаем, что все PHP-скрипты хранятся и исполняются на Webсервере. Зачем же нам надо создавать свою инструментальную среду,
может быть сразу воспользоваться каким-либо бесплатным хостингом
(предоставлением услуг по хранению информации на Web-сервере)?
Но ведь сначала надо написать и, главное, отладить все скрипты,
заставить их корректно работать, и только потом уже готовый комплект
мы можем поместить на сервер. Так что, давайте создадим свой
отладочный комплекс.
Задачи:
1. Установить Web-сервер и проверить корректность его работы.
2. Установить транслятор файлов PHP и обеспечить согласованную
работу Web-сервера и транслятора.
3. Разобраться в основных настройках конфигурационных файлов
Web-сервера и транслятора PHP-файлов.
Задание 1. Установка Web-сервера Apache
Web-сервер Apache — в настоящий момент занимает ведущее место среди всех
Web-серверов, используемых в сети Интернет. Так как нашей целью является
создание наиболее близкой к реальности инструментальной среды, то мы выбираем
именно этот популярный сервер для установки.
Apache может работать под разными платформами. Наиболее эффективен этот
сервер на платформе UNIX. Однако для создания модельной инструментальной
среды нам будет достаточно установить его на текущую операционную среду,
которой является Windows / XP.
Итак, для установки необходимо выполнить следующие шаги:
 скопировать дистрибутив с сетевого ресурса \\App\distrib\apache-win\
 выйти на сетевой ресурс:
1
МЕЖДУНАРОДНЫЙ БАНКОВСКИЙ ИНСТИТУТ
INTERNATIONAL BANKING INSTITUTE
 запустить инсталлятор apache_1.3.28-win32-x86-no_src и установить Apache
с именем localhost. Остальные параметры оставьте без изменения.
По умолчанию сервер устанавливается в папку c:\Program Files\Apache Group\
Как теперь с ним работать? Откуда можно запускать скрипты и где должны
находиться файлы пользователей? Файлы, которые должны быть обработаны
сервером, можно сохранять либо в корне сервера (в нашем случае это c:\Program
Files\Apache Group\Apache\htdocs ), либо в специально созданных директориях
пользователей по умолчанию — это c:\Program Files\Apache Group\Apache\users\.
Местоположение
корня
сервера
и директорий
пользователей
прописано
в настройках сервера, а точнее, в файле конфигурации httpd.conf. Этот файл
находится по адресу c:\Program Files\Apache Group\Apache\conf. Для изменения
этих путей нужно изменить соответствующие переменные в файле конфигурации
сервера.
После установки директорий Apache имеет вид:
2
МЕЖДУНАРОДНЫЙ БАНКОВСКИЙ ИНСТИТУТ
INTERNATIONAL BANKING INSTITUTE
Настройка конфигурационных файлов Web-сервера — самый ответственный шаг
при его установке. Здесь мы рассмотрим только наиболее распространенные
директивы и их параметры, поскольку полный перечень с описанием займет
не один десяток страниц. Сервер перечитывает конфигурационные файлы при
запуске
или
при
перезапуске.
Поэтому
после
любых
изменений
в конфигурационных файлах необходимо перезапустить Web-сервер, чтобы новые
настройки стали ему доступными.
Конфигурационные файлы хранятся в директории conf и имеют два вида
расширений: conf и default. conf. Последнее расширение соответствует файлу,
который имеет ряд стандартных установок, обычно используемых по умолчанию.
Реально значимыми являются конфигурационные файлы с расширением. conf.
Всего конфигурационных файлов 3:
access.conf
srm.conf
httpd.conf
mime.types
В access.conf содержатся директивы, описывающие права доступа к каталогам
и файлам Web-сервера. Прежде всего решите, в каком каталоге будут храниться
3
МЕЖДУНАРОДНЫЙ БАНКОВСКИЙ ИНСТИТУТ
INTERNATIONAL BANKING INSTITUTE
документы. По умолчанию это /usr/local/apache/share/htdocs, однако многие
администраторы предпочитают размещать документы, начиная с каталога
/www/<имя_сервера>/, поскольку при такой организации проще ориентироваться
в структуре файлов. Мы в лабораторных работах не будем менять стандартного
месторасположения файлов и каталогов пользователей. Создадим в каталоге htdocs
папку со свои логином и будем в ней хранить создаваемые файлы.
Файл srm.conf содержит директивы, связанные с общими настройками структуры
каталогов сервера. Как правило, в нем достаточно изменить лишь несколько строк.
DocumentRoot
сервера>
<первый
каталог
Путь к каталогу по умолчанию, индексный файл которого пользователь получит
при обращении к серверу ( http://<имя_сервера>/ ).
UserDir
каталога>
<имя
пользовательского
Каталог, в котором пользователи должны размещать свои файлы, чтобы они были
доступны по адресу http://<имя_сервера>/~<имя_пользователя>/. Стандартно
public_html. Иногда, чтобы облегчить жизнь пользователям, администраторы дают
директиву "UserDir www".
DirectoryIndex
индекса>
<список
файлов
Файл индекса — это тот файл, который будет передан клиенту при обращении
к каталогу. Если указать несколько имен, сервер будет искать подходящий файл
«слева направо». По умолчанию список содержит всего одно имя — index.html,
но принято добавлять в него и другие распространенные имена индексных файлов.
Например, директива может иметь вид: DirectoryIndex.index.html index.html
index.htm index.cgi index.shtml index. php
Чтобы включить на сервере поддержку CGI-сценариев, следует убрать знак
комментария перед директивами ScriptAlias и AddHandler cgi-script.cgi. Первая
задает каталог на диске, в котором будут храниться исполняемые программы,
а вторая определяет, что все файлы с расширением.cgi должны обрабатываться как
сценарии.
Конфигурационный файл httpd.conf является основным и содержит настройки,
связанные с работой Web-сервера, виртуальных серверов, а также всех его
программных модулей.
Директива Port, помещенная в самом начале файла, определяет номер порта для
HTTP-сервера; по умолчанию это 80. При необходимости можно приписать серверу
другой порт или несколько портов, для чего служит директива Listen.
Директивы User и Group задают пользователя, который будет администрировать
сервер.
С точки
зрения
безопасности
нежелательно
указывать
здесь
существующего пользователя, имеющего доступ к каким-либо другим ресурсам или
файлам. Лучше создать отдельного пользователя и группу специально для HTTPсервера, например:
User www
4
МЕЖДУНАРОДНЫЙ БАНКОВСКИЙ ИНСТИТУТ
INTERNATIONAL BANKING INSTITUTE
Group www
Директивы ServerRoot, ErrorLog, CustomLog определяют соответственно корневой
каталог HTTP-сервера, путь к журналу регистрации ошибок (error_log) и путь
к общему журналу обращений к серверу (access_log).
В большинстве случаев один HTTP-сервер способен обрабатывать запросы,
поступающие на различные, так называемые виртуальные, Web-серверы.
Виртуальные серверы могут иметь как один и тот же IP-адрес, но разные доменные
имена, так и разные IP-адреса. Мы в настоящий момент не будем использовать эти
возможности, но в будущем вам это может пригодиться.
Теперь проверим работоспособность установленного Web-сервера. Для этого
создадим в стандартной папке хранения документов htpdocs папку, с некоторым
условным именем, лучше в стандарте Unix, которая будет содержать файлы
моделируемого сайта. Например kts. В этой папке создадим простой HTML-файл,
с именем test. html.
Запустим север Apache :
Пуск -> Программы-> Apache Http Server-> Control Apache Sever ->Start
Получим нечто следующее:
Наберите в браузере адрес сервера:
Http :// localhost /
Если вы получите похожую картинку
5
МЕЖДУНАРОДНЫЙ БАНКОВСКИЙ ИНСТИТУТ
INTERNATIONAL BANKING INSTITUTE
 значит Web-сервер установлен корректно. Для того чтобы закончить первую
часть нашей ответственной работы, наберем следующий адрес:
http://localhost/kts/test.html
В браузер должна загрузиться наша первая тестовая страничка. Если это
произошло, то можно переходить к следующему этапу создания локальной
инструментальной среды.
Задание 2. Установка PHP-транслятора и настройка Web-сервера
на обработку PHP-файлов
1. Скопировать дистрибутив PHP архивный файл php-4.3.3-Win32.
2. Распаковать дистрибутив в директорию, например с:/ Program Files /php/.
3. Скопировать файл php.ini-dist в директорию windows, и переименовать
в php.ini.
Файл php. ini — является главным конфигурационным файлом для работы
со скриптами, написанными на языке PHP. Для настройки требуемой конфигурации
необходимо отредактировать ваш php.ini файл:
 изменить опцию ’extension_dir’ на путь к директории, где хранятся ваши
модули
PHP
(php_*.dll).
В нашем
случае
это
будет
"с:/Program
Files/php/extensions/";
 выбрать, какие библиотеки вы хотите загружать при загрузке PHP,
раскомментировав строки ’extension=php_*.dll’. Некоторые библиотеки могут
требовать библиотек ваших windows, сведения об этом можно получить
на сервере разработчика. В принципе, любую библиотеку можно подгрузить
непосредственно в скрипте, используя функцию dl() — нам пока не нужны
никакие библиотеки и мы ничего не пригружаем.
Поэтому все закомментированные строки оставляем без изменений!
6
МЕЖДУНАРОДНЫЙ БАНКОВСКИЙ ИНСТИТУТ
INTERNATIONAL BANKING INSTITUTE
Настройка Web-сервера Apache для работы с PHP-файлами:
 задать
перечень расширений файлов, при которых будет вызываться
в качестве обработчика Php. exe. Для этого в файл конфигурации Apache
conf/mime.types добавьте такую строку: application/x-httpd-php4 phtml
php3 php4 php
 теперь откройте файл conf/httpd.conf и добавьте в его конец (но перед
блоком виртуальных хостов, если они там есть) такие строки:
<Directory "c:/program files/php/">
Options ExecCGI
</Directory>
ScriptAlias "/__php_dir__/" "c:/program files/php/"
Action
"/__php_dir__/php.exe"
application/x-httpd-php4
Теперь необходимо перезагрузить компьютер, т. к. только после этого все
конфигурационные параметры будут восприняты.
Задание 3. Проверка работы PHP-транслятора
Проверьте его работоспособность с помощью простого скрипта, например такого:
<?php
echo
works!<br>\n";
"It
phpinfo();
?>
Скрипт на языке PHP набирается в любом текстовом
не содержит специальных команд форматирования.
редакторе,
который
У вас стандартно установлен редактор Aditor — pro. Запустите его и наберите
в нем скрипт.
Мы помним, что в общем случае Web-серверы работают под управлением Unixсистемы, для которой существуют жесткие требования к именованию файлов.
Будем их соблюдать: никаких русских символов, пробелов и других запрещенных
символов. Расширение файла определяется тем, какие установки вы задали
в настройке сервера Apache — это PHP3 или PHP4 или PHP.
Сохранять ваши скрипты надо в стандартной директории Apache Groop / apache /
htdocs в своей ранее созданной папке.
Запустить файл можно, набрав в адресе путь к нему: http :// localhost / kts /
pr 1. php
Вы должны получить следующую картинку:
7
МЕЖДУНАРОДНЫЙ БАНКОВСКИЙ ИНСТИТУТ
INTERNATIONAL BANKING INSTITUTE
Встроенная функция phpinfo () — выводит информацию о текущей версии PHP
и о всех установках, которые определены в конфигурационном файле php. ini.
Если вы получили аналогичную картинку, то это означает, что все установки
вы произвели правильно и теперь можно приступать к выполнению следующих
заданий.
Задание 4
1. Создайте новый скрипт на PHP. Пусть это будет некоторое текстовое сообщение
на русском языке, лучше, чтобы оно имело определенный смысл, например
"Меня зовут Петров Вася и это моя первая программа на PHP".
2. Запустите этот скрипт на исполнение.
3. Проанализируйте результат.
4. В редакторе вы можете выполнить перекодировку текста в любой формат.
Делается это по правой кнопке мыши, выбором опции convert. Если вы видите
ваш текст не в том виде, как вам хотелось бы, то осуществите требуемую
перекодировку и добейтесь нужного результата.
Задание 5
1. Выведите с использованием PHP текущую дату в заголовок окна.
2. Для вывода воспользуйтесь функцией date ("строка формата")
3. Символы в строке формат
d — день месяца, 2 цифры. От «01» до «31»;
D — день недели;
F — месяц в текстовом формате на английском языке;
m — месяц в числовом формате;
8
МЕЖДУНАРОДНЫЙ БАНКОВСКИЙ ИНСТИТУТ
INTERNATIONAL BANKING INSTITUTE
y — год 2 последние цифры (без века);
Y — год полностью.
Или
Задание 6
Изучение методов передачи значений переменных в вызываемый скрипт.
Переменные передаются по методу GET, непосредственно в адресной строке
сразу после имени скрипта ставится вопросительный знак, после которого идут
парами
<
имя
=значение
переменной
>
В общем случае таких пар может быть несколько, каждая пара от другой
отделяется символом амперсанд &
1. Напишите скрипт, который выводит переданное ему значение переменной.
Для вывода используйте оператор echo или print.
Вы должны получить нечто похожее
Проверьте работу
но и на символьных.
своей
программы
не только
на числовых
значениях,
2. Напишите программу, выводящую значения двух переданных скрипту
переменных. Выведите переданные значения переменных в виде таблицы.
9
МЕЖДУНАРОДНЫЙ БАНКОВСКИЙ ИНСТИТУТ
INTERNATIONAL BANKING INSTITUTE
Для того чтобы было видно, что выводится таблица, задайте для нее ненулевую
границу.
3. Измените программу в предыдущем задании, добавьте в нее возможность
изменять цвет фона выводимой HTML-страницы. Цвет передавать в виде
дополнительного третьего параметра.
4. Модернизируйте последнюю разработанную программу, добавьте в нее
возможность устанавливать величину рамки и цвет заливки в таблице. Все
изменения передавать параметрами.
Предъявите всю выполненную работу преподавателю, получите зачет
по практическому занятию.
А теперь не забудьте сохранить на всякий случай все разработанные
вами скрипты на вашем сетевом ресурсе.
Вопросы для самопроверки
1. Под какими операционными системами может быть установлен Web-сервер
Apache?
2. Что находится в папке htdocs после установки Web-сервера Apache?
3. Что такое конфигурационные файлы и какие конфигурационные файлы
вы знаете?
4. Где должны находиться пользовательские файлы и каталоги?
5. Как Web-сервер узнает, что файлы с расширением php или php 3 должен
обрабатывать файл php. exe?
6. Где и какие установки должны быть сделаны, чтобы PHP-файлы могли
заключаться в короткие теги <? ?>?
10
Download