Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Что такое PHP.doc
Скачиваний:
0
Добавлен:
01.05.2025
Размер:
120.83 Кб
Скачать

12

Что такое php?

PHP это скриптовый server-side язык программирования, предназначенный в основном для включения в html страницу и выполняемый сервером перед выдачей страницы браузеру. Это не CGI, но вполне заменяет его! PHP очень похож на ASP (существует даже конвертор asp2php), но приспособлен к unix-like системам и чаще всего употребляется с web-сервером apache, хотя может работать и с MS IIS и в принципе с любым другим веб-сервером. Кроме того, PHP3 является объектно-ориентированным.

На мой взгляд, основное преимущество PHP - простота, гибкость и скорость выполнения. Мне, например, понадобилось минут 15 для просмотра мануалов и примеров, для того, чтобы перевести весь контент моего сайта на SQL (подробнее с елудющих ШАГ-ах) и написать php-скрипт для выдачи его в html коде с шаблонным дизайном. Зачем так сложно? А вовсе и не сложно. Теперь, чтобы выложить на сайт новую статью или просто новость, я всеголишь добавляю новую запись на sql сервере с помощью MS Access или web-интерфейса sql, написанного кстати тоже на php, а при запросе страницы пользователем соответствующий php-скрипт выуживает из sql то, что ему надо и выдает уже красиво оформленную, готовую страницу.

SQL. Вот это является еще одним преимуществом PHP, такое впечатление, что он (PHP) просто рожден существовать в связке apache+php+sql. Для свой работы я выбрал MySQL, который также существует и под linux и под win9x/NT.

В качестве иллюстрации простоты php, предлагаю пример, передающий список файлов в текущем каталоге.

<HTML><BODY>

....

Список файлов:

....

<?

$dir = opendir(".");

while($file = readdir($dir))

echo "$file<BR>";

closedir($dir);

?>

</BODY></HTML>

Код, помещенный в теги <? и ?> не передается браузеру, а выполняется непосредственно на стороне сервера. А выдается то, что выводит команда echo. Я думаю, что человек, мало-мальски знающий хотя бы один язык программирования, поймет этот пример без проблем. Кажется, PHP похож на C? или Perl? или Basic? А вот к стати тот же пример в ООП варианте:

<?

$dir = dir(".");

while($file = $dir->read())

echo "$file<BR>";

$dir->close();

?>

И ведь вы можете это писать в своем любимом html редакторе! Лично я настолько полюбил этот язык, что пишу в нем и скрипты для linux shell (хотя это уже из области XXX ;) и даже под dos/win. А запустить скрипт из шела проще некуда: php3 -q <filename> получается отличный интерпретатор.

А вот, для наглядности, еще пример для работы с MySQL:

<?

$conn=mysql_connect("127.0.0.1");

if (mysql_select_db("db",$conn)) {

$res=mysql_query("select * from tabl", $conn);

while(($data=mysql_fetch_row($res)))

echo("$data[0] $data[1]\n");

} else

echo "Error!\n";

?>

Этот скрипт выводит таблицу tabl из базы данных db на локальном MySQL сервере.

Установка

Хотя инсталяция PHP - дело совсем не хитрое и по крайней мере линуксоиды, отличающиеся умом и сообразительностью ;-) , а так же уменем вникать в тексты документации на любом языке, с этим делом справляются на р-р-р-р-аз, у виндозистов зачастую возникают странные, на мой взгляд, вопросы. В таком случае целесообразно всетаки рассмотреть инсталяцию PHP, но только под windos. Сразу предупрежу, что способов работы с php существует несколько и я не буду здесь описывать каждый из них, а лишь один и самый простой, на мой взгляд. Также учтите и то, что этот способ не является безопасным (всмысле вашего сервера, читайте security.shtml в мануале от PHP), да и о какой безопасности под виндами может идти речь. Хотя лично у меня стоят Apache, MySQL и PHP - они естественно используются лишь для отладки скриптов, перед выкладыванием их на сервер и эта комбинация не является полноценным вебсервером, поэтому к неу нет доступа извне. Зато очень даже здорово отлаживать скрипты и дизайн, таким образом, всем рекомендую.

Начнем с того, что вам не стоит скачивать и компилировать PHP из исходного кода, это лишнее. Возьмите готовый дистрибутив (у меня он назывался php-3.0.11-win32.zip) и просто скопируйте все файлы туда, где вы хотите содержать php (лично у меня это c:/php3/). Пол дела сделанно! Кстати, кроме самого дестрибутива, вам понадобится еще и документация, валяющаяся на том же сервере ( список, html-вариант).

Идем дальше. Теперь в первую очередь вам необходимо отредактировать файл php3.ini (оригинал php3.ini-dist). Измените в нем праметр extension_dir=<путь где лежит ваш PHP3 со всеми модулями> (у меня, как говорилось это c:/ php3/), а также уберите коментарии со строк extension= с теми модулями, которые вам будут необходимы (если вы не просекаете и смысл, значит вам они не нужны). И все! Теперь поместите этот файл (php3.ini) в корневой каталог вашей windows (c:\windows обычно). Собственно сам php3 - готов. Что-бы проверить его работу - создайте файл со следующим содержимым:

<?

echo "Список файлов\n";

$dir = dir(".");

while($file = $dir->read())

echo "$file\n";

$dir->close();

?>

и запустите его так <путь к вашему php>/php.exe -q <имя файла>. Для особо талантливых обьясняю подробнее. Если вы поместили все файлы из дистрибутива php в каталог c:/php3/, а созданный вами файл с вышеописанным скриптом называется test.php то запустить его вам нужно будет так:

c:/php3/php.exe -q test.php

Этот скрипт должен вывести список файлов в текущем каталоге.

Следующий шаг - конфигурирование вебсервера для работы с PHP. Если вы используете IIS - ваши проблемы ;) (используйте файл php_iis_reg.inf в поставке PHP3), если вы используете apache, то сейчас я вам помогу.

Вообще идеология обработки php-сценариев сервером очень проста. Есть такое понятие как mime тип файла, который определяется по расширению, гляньте в файл mime.types и вы сами, надеюсь, все поймете. Файл имеет простой формат: <тип файла> <расширение файла>. Вот мы и вставим в него следующие три строчки:

application/x-httpd-php3 php

application/x-httpd-php3 php3

application/x-httpd-php3 phtml

Что мы этим имеем ввиду? Что файлы с расширением php, php3 и phtml являются приложением (application) типа x-httpd-php3 (а можете и сами название этого типа придумать, дальше поймете зачем это вообще нужно). Есть, к стати, и второй вариант прописывания mime типов, напрямую в httpd.conf вот так:

AddType application/x-httpd-php3 .php

AddType application/x-httpd-php3 .php3

AddType application/x-httpd-php3 .phtml

После того. Как мы покончили с определнием типов (и все знают этих типов). Нам осталось добавить в httpd.conf всего одну строчку для запуска этих сценариев. Вот эту: Action application/x-httpd-php3 <путь и имя php транслятора> Которая означает, что для файлов типа application/x-httpd-php3 запускать указанную вами прогу. у меня под win эта строчка выглядит так:

Action application/x-httpd-php3 /cgi-bin/php.exe

То есть я положил сам php.exe в директорию прописанную как /cgi-bin/ и не мучался (добавить три лишние строки) с прописыванием разрешения на запуск из собствненой директории php.

Собственно вот и все. Запускайте ваш вебсервер и пробуйте скрипты из архива с документацией от php или описанные мной. Если у вас все таки что-то неработает - смотрите логи от вебсервера.

Опишу в кратце еще раз все необходимые действия:

  1. скопировать php дистрибутив в выранную вами директорию;

  2. соответсвенное конфигурирование php3.ini (добвление этой самой директории) и помещение его в директорию windows;

  3. добавление новых mime типов для распознавания документов, содержащих сценарии php;

  4. сообщение серверу что делать с документами этих типов (запускать для них php.exe)

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]