Опубликован: 01.03.2005 | Доступ: свободный | Студентов: 33896 / 4520 | Оценка: 4.31 / 4.06 | Длительность: 16:41:00
ISBN: 978-5-9556-0026-0
Лекция 1:

Введение в PHP

Лекция 1: 12345 || Лекция 2 >

Установка PHP под Linux

Как и в случае с Windows, для Linux существует два способа установки PHP: используя пакеты и непосредственно компилируя исходный код PHP, который можно скачать с http://www.php.net. Мы остановимся на первом варианте и рассмотрим установку PHP + Apache на примере дистрибутива AltMaster2.2 (http://altlinux.ru).

Для того чтобы установить apache, необходимо выбрать одноименный пакет. Это можно сделать, например, с помощью менеджера пакетов Synaptic. Воспользовавшись меню "Пакет -> Установить" (рис. 1.16) нужно выбрать интересующие пакеты. После этого необходимо перейти к установке выбранных пакетов с помощью меню "Действия -> Выполнить". После установки Apache имеет смысл перезагрузиться или выполнить следующую команду:

/etc/init.d/httpd start
# /etc/init.d/httpd start
Starting httpd:
    [ OK ]

Это приведет к запуску сервера и можно будет увидеть по адресу http://localhost почти такую же страницу, как и при установке Apache под Windows. Возможным отличием будет присутствие логотипа AltLinux.

Выбор пакета для установки Apache под Linux

Рис. 1.16. Выбор пакета для установки Apache под Linux

После установки Apache можно приступить к установке непосредственно PHP. Опять же можно использовать PHP с помощью CGI и через модуль Apache. В первом случае достаточно пакета php и необходимых для его установки пакетов. Во втором случае необходимо дополнительно установить пакет mod_php. (рис. 1.17).

Выбор пакетов для установки PHP под Linux

Рис. 1.17. Выбор пакетов для установки PHP под Linux

Менеджер пакетов Synaptic – это оболочка к программе apt-get, более подробно о ней можно узнать с помощью команды man apt-get . Воспользуемся утилитой apt-get для установки пакета mod_php. Команда apt-get build-dep mod_php установит пакеты, которые нам необходимы для инсталляции mod_php. Команда apt-get install mod_php завершит установку :

[root@greydragon apt]# apt-get build-dep mod_php
Reading Package Lists... Done
Collecting File Provides... Done
Building Dependency Tree... Done
Note, selecting libgdbm-devel instead of gdbm-devel
The following NEW packages will be installed:
    apache-devel bison byacc flex libexpat-devel 
libgdbm-devel libltdl libmm-devel libpam-devel libtool
0 packages upgraded, 10 newly installed, 
0 removed and 73 not upgraded.
Need to get 937kB of archives.
After unpacking 2357kB of additional disk space will be used.
Do you want to continue? [Y/n]
Get:1 ftp://ftp.altlinux.ru ALTLinux/main byacc 
    1.9-ipl9mdk [31.8kB]
.....
Get:10 ftp://ftp.altlinux.ru ALTLinux/main 
libtool 2:1.4.2-alt0.2 [302kB]
Fetched 937kB in 9m19s (1675B/s)
Executing RPM (/bin/rpm -Uvh --fancypercent 
--oldpackage)...
Preparing...
################################################### [100%]
....
[root@greydragon apt]# apt-get install mod_php
Reading Package Lists... Done
Collecting File Provides... Done
Building Dependency Tree... Done
The following NEW packages will be installed:
    mod_php
0 packages upgraded, 1 newly installed, 
0 removed and 73 not upgraded.
Need to get 46.6kB of archives.
After unpacking 69.2kB of additional disk space will be used.
Get:1 ftp://ftp.altlinux.ru ALTLinux/main 
mod_php 1:4.3.0-alt0.cvs20030207 [46.6kB]
Fetched 46.6kB in 24s (1918B/s)
Executing RPM (/bin/rpm -Uvh --fancypercent --oldpackage)...
Preparing...
################################################### [100%]
1: mod_php 
################################################### [100%]
Shutting down httpd: [ OK ]
Checking configuration sanity for httpd: [ OK ]
Starting httpd: [ OK ]
Листинг 1.0. Результат работы менеджера пакетов Synaptic

Как видно из приведенного листинга, скрипт установки самостоятельно перезагрузил сервер Apache. Также он самостоятельно внес изменения в конфигурационный файл Apache, полный путь до которого: /etc/httpd/conf/ httpd.conf

В httpd.conf добавлена строка:

Include conf/addon-modules/mod_php4.conf

Содержимое файла mod_php4.conf

LoadModule php4_module 
                  usr/lib/apache/libphp4.so
AddModule mod_php4.c
AddType application/x-httpd-php 
                  .php .php4 .php3 .phtml
AddType application/x-httpd-php-source .phps
AddHandler application/x-httpd-php 
                  .php .php4 .php3 .phtml

Как видно, изменения в httpd.conf подобны изменениям, которые мы вносили при установке под Windows.

Теперь можно воспользоваться тестовым файлом для проверки работоспособности PHP + Apache. Создадим test.php со следующим содержанием:

<?php
echo"<h1>Привет всем!</h1>";
?>

Корень сервера находится /var/www/html/. Можно создать каталог test и разместить там файл test.php. Вызвав этот файл из браузера по его адресу (http://localhost/test/test.php), получим страничку с текстом "Привет всем".

В заключение отметим, что процесс установки PHP с помощью пакетов в других дистрибутивах Linux принципиально не отличается от рассмотренного нами. Процесс установки из исходного кода в них же подробно описан. Стоит отметить, что "ручная" компоновка позволит настроить PHP под конкретные нужды, также возможен выигрыш в производительности.

Дистрибутив Денвер

Мы достаточно подробно рассмотрели установку и настройку PHP для платформ Linux и Windows. Для тех, кто не желает вникать в устройство PHP и требуемых для его работы компонентов, существуют готовые дистрибутивы, содержащие все наиболее распространенные расширения PHP. Один из самых известных – дистрибутив Денвер (http://dklab.ru/chicken/web/). Инструкции по его установке можно прочитать на сайте разработчиков. Отметим только, что его установка достаточно проста и не требует особых навыков. Этот дистрибутив можно рекомендовать для начинающих программистов, желающих научиться работать с PHP. Для более серьезных задач лучше все же установить и настроить PHP самостоятельно.

Лекция 1: 12345 || Лекция 2 >
Дарья Федотова
Дарья Федотова
Сергей Березовский
Сергей Березовский

В рамках проф. переподготовки по программе "Программирование"

Есть курсы, которые я уже прошел. Но войдя в курс я вижу, что они не зачтены (Язык Ассемблера и архитектура ЭВМ, Программирование на С++ для профессионалов). Это как?

Алексей Ласкин
Алексей Ласкин
Россия, Москва, НИБ
Μаксим Εфремов
Μаксим Εфремов
Россия