Cовременные информационные технологии /2. Вычислительная техника и программирова­ние

Елеусизов Серик Тулеубекович

 

Қазақ экономика, қаржы және халықаралық сауда университеті

Қазақстан, Астана

 

PHP ТІЛІ ЖӘНЕ APACHE ВЕБ-СЕРВЕРІН ҚОЛДАНУ

 

РНР дің тарихы 1995 жылы Расмус Лердорф (Rasmys Lerdorf) Perl тіліндегі қарапайым қосымшаны ойлап табуымен басталады. Ол қосымша вебсайтта пайдаланушылардың оның резюмесін сараптайды. Содан бұл қосымшамен бірнеше адам пайдаланғанда оны алғысы келетіндердің саны өсе түсті. Ледорф өзінің жаңалығын Personal Home Page Tools версия 1 деп аталады және оны еркін таратуға жібереді. Осы кезеңнен бастап РНР-дің танымалдылығы арта түсті.

Ылғи кездесетін жәйт сияқты оны өңдеу мен толықтыру қажет болды. Оны жүзеге асыру үшін Расмус Си-ға жазылған пакеттің жаңа версиясын жасап шығаруға осылайша құрал жұмыстың атауға ие болады РНР /Fl /Personal Home Рage /Forms Interpreter/ ары қарай ол РНР 2 деген атаумен де белгілі болады. Бұл версия қазіргі уақытта осы күнгі РНР-ге ұқсас. Оның синтаксисі және Perl тілі стилінде ауыспалы атау алуы, болатын формаларды автоматты интерпетациялауға берілгендермен интеграциясына, және РНР операторларын html код беттерге орналастыруға мүмкіндігі болатын. Сонымен қоса бұның барлығы қате жылдам жұмыс жасайтын болды. Өйткені РНР Apаche серверіне компилирленген еді. 1997 жылы РНР 50,000 - дай доменде қолданылады.

Дәл осы жылы 1997 де РНР жобасына Зив Сураски мен Энди Гутманс (Andi Gytmans) қосылды. Олар Израил университеттерінің бірінде студент болып жүріп, РНР ді коммерциялық университеттік жобаға пайдалануға тырысты. Осы жерде олар көптеген қиындықтармен, бұл технологияның шектеулі екеніне кездесуге тура келді. Яғни Энди мен Зив РНР 2-нің алғашқы кодын үйрене отырып оған өңдеудің, әсіресе тілдің синтаксисіне қайта өңдеу қажет деген тұжырымға келді. Бірнеше ай көлемінде олар бұл тапсырманы кереметтей орындай білді. Оның үстіне бұл жұмыс оларға университеттің оқу жүктемесі ретінде сыналды.

Жұмысты бітірген Зив пен Энди Расмуспен байланысты. Ол РНР дегі барлық өзгерістерді қуана қабылдады. Осы кезеңнен бастап РНР технологиясын дамытумен айналысатын РНР Group топтары пайда болады. Бірлескен әрекет нәтижесінде алынған өнім 1998 жылы РНР 3 деген атаумен жарық көрді.

2000-2004 жылдар арасында 4-версияны жұмсарту үшін белсенді жұмыстар жалғасты. Шамамен сол кезден бастап РНР Group жаңа версияның мүмкіндігін ойластыруға кірісті. Бірінші кезекте тілдің объектілік мүмкіндіктерін күшейту шешілді. Бұл оның жүзеге асыру үшін ірі жобаларды пайдалануға мүмкіндік берді. 5-ші версияны жарыққа шығару үшін қосымша уақыт бөлінді. Оған көптеген мамандар қатысты олардың ішінен Стерлинг Хьюза және Маркус Бергерді атап өткен жөн болар.

Ақыры 2004 жылдың шілдесінде РНР 5 ресми түрде жарыққа шығады. Бірінші кезекте жоспарланғандай өңдеуде объектілермен жұмысты барлық механизм жұмылдырылды. Егер алдыңғы версияларда РНР-дегі объектілік-жобалаушылық бағдарламалау минимальды деңгейде мүмкін болатын болса, ал РНР 5 объектілік бағдарламалауды жүзеге асыруда көптеген потенциалдарға ие. Онымен қоса РНР ХМL мен жұмыс жасауда бағалы кеңейтулермен, берілгендердің әртүрлі қайнар көзіне байыды.

РНР 4-дегі ХМL мен жұмыс жасауға арналған барлық негізгі кітапқаналар күрделі өңдеуге ұшырады. Мынадай танымал кеңйтілер SAX, DOM, және XSLT қазір libxml2-нің құрал-сайманын пайдаланады. Сонымен қатар тағы да жаңа екі кеңейтулер қосылды-SimpleXML және SOAP.

Somple XML XML- берілгендермен жұмысты айтарлықтай оңайлатады. Бұдан алдын РНР-да ХМL мен жұмыс бұншалықты қарапайым болмаған еді.

SOAP-тың кеңеюі РНР да ХМL –хабарламаның көмегімен басқа қосымшалармен ақпарат ауысатын сценарий құрға мүмкіндік береді. Мысалы НТТР. РНР қосымшалы қазіргі таңдағы танымал веб-сервистермен интеграциялауға мүмкіндік туындайды [1].

Арасне локалді серверін орнату.

Локальды серверлерді пайдаланудың себебі көп – бізге РНР-ды үйрену керек болды өзіңіздің хостингіңізде Web қосымшалары тестілеу қымбатқа түседі және бұндай мүмкіндік мүлдем жоқ. Бұл жағдайда сізде локалды машинада Apache+PHP байланыстары қажет болады.

Ең алдымен Apache және РНР дің архивін шығарып алу керек. Apache http://www.apache.org/dyn/closer.egi. ресми сайтындағы келтірілген беттен алуға болады. Іздестіруде мынаны есте сақтаған жөн. Apache өзінің UNIX тегі демонының аты бойынша httpd деп те аталуы мүмкін. әдетте сайт бетінде әртүрлі файлдар көп, мысалы httpd-2.0.49-win 32-src.zip httpd-2.0.49. tar. Gz, apache 2.0.50-win 32-x86-no ssl-exe [2].

Apache жүйесін және РНР процессорын орнату.

Локальды серверлерді пайдаланудың себебі көп – бізге РНР-ді үйрену керек болды. Өзіңіздің хостингіңізде Web-жобаларды тестілеу қымбатқа түседі және мұндай мүмкіндік мүлдем жоқ. Бұл жағдайда сізде локалды машинада Apache+PHP байланыстары қажет болады. Ең алдымен Apache және РНР дің архивін шығарып алу керек. Apache ресми сайтындағы келтірілген беттен алуға болады. Іздестіруде  мынаны есте сақтаған жөн. Apache өзінің UNIX тегі демонының аты бойынша httpd деп те аталуы мүмкін. Әдетте сайт бетінде әртүрлі файлдар көп, мысалы: httpd-2.0.49-win 32-src.zip httpd-2.0.49. tar. Gz, apache 2.0.50-win 32-x86-no ssl-exe.

Арасhе Web-серверінің орнатушысын жіберіңіз. Нәтижесінде лицензиялық келісімі бар терезе пайда болады. одан кейін Арасhе екінші версиясының жаңа кіріспесі туралы ақпараты бар келесі терезеге өтіңіз. Суретте көрсетілген келесі терезе сервер туралы ақпарат ендіруге мүмкіндік береді; сервердің домендік аты. Сервердің аты, басарушының электрондық почтасының аты. Егер орнату локальды машинада жүретін болса, домендік атау мен сервер атауына өріске  localhost ендіру керек болады. терезенің төменгі бөлігінде сервер сұранысты қабылдайтын порт нөмерін таңдау керек болады. (80 немесе 8080). Ол төмендегі. суретте көрсетілген. Localhost – бұл ІР –мекен жайымен байланысты локалды машинада серверді пайдалануға арналған атау.

Бұдан кейін орнату тәслі ұсынылады. Стандартты (Typical) немесе таңдаушы (Custom). Бұл тәсіл сервер компонентін қолмен таңдауға мүмкіндік береді. Келесі терезе  сервер орнатудың каталогын таңдауға мүмкіндік береді. Бұл C: Program Files Apache Group, дегенмен біз басқа каталогты таңдауды ұсынамыз. Мысалы С: www. Бұдан кейін орнату шебері орнату процесіне дайын екендігін хабарлайды.

Сосын Install түймесін басқан соң сервер файлдарын көшіру жүзеге асырылады. Егер құру сәтті шықса, Windows автоматты түрде Apache жібереді. Теру кезіндегі сәтті инсталляциядан кейн браузер терезесіне http://localhost/ немесе  http://127.0.0.1/- на сервер бетіне жүктелуі керек.

Windows қызметтері жүйенің стартында фондық қосымшаларды шығаруды жүзеге асырады. Бұл үшін свойства терезесіне  өту керек. Сервистің контекстік мәзірінен свойства пунктін таңдап, пайда болған терезеде “Тип запуска” тізімінен “Авто” пунктін таңдау керек.

Енді С: /www/ Apach 2/conf. бумасында орналасқан Apache –http. conf. Web-серверінің конфигурациялық файлын орнатуға кірісу керек. Есте сақтаған жөн бұл файлда жүзеге асырылған өзгерістер күшіне серверді қайта жүктегенне кейін ғана енеді.

Сервер Apache ISO-кодтауына орналастырылған. Яғни сервер бұл кодтауға жазылғанның бәрін сіздің файлыңыз деп санайтын болады. Кодтауды кодтауға өзгерту үшін Windowsта http.conf ашып, мына қатарды табу керек.

AddDefaultCharset ISO-8859-1

Оны мынаған өзгерту керек.

AddDefaultCharset –WINDOWS –1251

Бұдан кейін бізге кеңейтілген файлдардың орналасқан бумасын құру керек болады. Оларды мына мен жаймен табуға болады. Бұл  үшін сіз бәріне дайын болатын буманы таңдау керек. Бұл былай болсын C:/www/scripts.

Apache сервері құрылды- енді РНР ді құруғе кірісуге болады. Бұл үшін С: /РНР жобасын құрыңыз. Және ол жерде рhр-5.0.0-Win32.zip. архивіндегілерді архивтеңіз. PHP орнату бумасы ретінде бөлек бума құрамыз. Ол үшін, мысалы: Internet бумасын құрып алып, Пуск - выполнить командаларын орындап, subst E: C:\Internet командасын береміз. Сонда бізде тағы да виртуалды Е дискісі пайда болады. Енді сол дискте usr бумасын құрып, содан кейін usr бумасының ішіне php бумасын құрамыз. Орнату файлы ретінде екі файл болады, біреуі ехе, екіншісі zip файл. Алдымен ехе файлды жүктеймізде пайда болған сұраныс терезелерінен Next батырмасын басып кете береміз және Standart типті орнатамыз. Орнату жолына e:\usr\php жолын көрсетіп оны сонда орнатамыз. Одан кейін SMTP серверін және электронды пошта адрестерін енгізу терезесіне ойдан енгіземіз. Содан кейін бізге PHP жұмыс істейтін серверді таңдау қажет болады. Ол сервер ретінде біз Apache серверін аламыз. Енді бізге қосымша модульдерді орнату мен Apache серверін PHP кодтарын түсінуге үйрету керек болады. PHP - ді Apache - ге келтіру  E:/usr/apache/conf бумасынан Apache-ді келтіру httpd.conf файлын кез-келген мәтіндік редактормен ашамыз, мысалы: “Блокнот” немесе “Word”. Содан кейін

#АddType application/x-httdp-php .php қатарын іздейміз. Ол жерден кометарий белгісін  # алып тастаймыз. Осы қатардан кейін,

ScriptAlias /_php/ “PHP жолы”

Action application /x-httpd-php “/_php/php.exe” қатарларын жазамыз.

 «PHP жолы» қатры біздің жағдайымызда e:/sr/php/. Бұдан кейін келтіру файлын сақтап, файлды жабамыз. 

Apache - де виртуалды хосттар бір компьютерде бірнеше немесе жүздеген виртуалды серверлер болуы мүмкін. өзімізге сондай бір сервер жасау бір немесе одан көп сайт құру үшін қажет болады. Ол үшін біз тағы да сол httpd.conf файлын кез-келген мәтіндік редактормен ашамыз және файлдың соңына келесі қатарларды жазамыз:

<VirtualHost 127.0.0.1 >

ServerAdmin admin@server

rname.com

Server

erName www.servername.com

DirectoryIndex index.php3 index.phtml index.php

Index.htm Index.html Index.shtml Index.shtm

DocumentRoot “e:/usr/public_html/host/virtual”

ScriptAlias /cgi-bin/ “e:/usr/public_html/host/virtual/cgi-bin/”

ErrorLog e:/usr/php

ublic_html/host/virtual/logs/error.log

CustomLog e:/usr/public_html/host/virtual/logs/access.log common

</VirtualHost>

PHP скрипттері жұмыс істейтіндігін тексеру үшін алдымен e:/usr/public_html/host/virtual бумасына test.php файлын құрып ішіне келесі кодты жазамыз:

<? phpinfo(); ?>

Барлық бағдарламалау тілдеріндегі сияқты PHP-де де өз синтаксисі бар. Оның синтаксисі С және Perl тілдеріне өте ұқсас. PHP-де әр скрипт  <? рhp ден басталып  ?> жазуымен аяқталуы керек. Коментарийлер болса С тіліндегідей /*  басталып  */-мен  аяқталады [3].

CGI-технологиясы. cgi-модульдер. Тұтынушының интерактивтік интерфейсі - тұтынушы мен программаның өзара қарым-қатынасын ұйымдастыратын жүйе. Ол WWW-де тұтынушы интерфейсін сипаттайтын HTML-құжаттардың тізбегі түрінде анықталады.

Интерактивтік интерфейсті HTML-құжатты құру үрдісі бойынша шартты түрде екі түрге бөледі:

-       статикалық;

-       динамикалық.

Статикалық интерфейс ретінде мәтіндік немесе HTML-редактормен құрылған HTML-құжатты айтамыз. Әдетте бұл интерфейс жұмыс барысында тұрақты түрін сақтайды. 

Динамикалық интерфейсте HTML-құжатқа арнайы программа (РНР-скрипт) енгізіліп, ол серверлік компьютерде орындалады. Нәтижеде тұтынушы интерфейсі жұмыс барысында өзгеріп отырады.

Сонымен, WWW үшін интерактивтік интерфейс анықтамасын төмендегі түрде анықтауға болады, яғни тұтынушының интерактивті интерфейсі ретінде статикалық немесе динамикалық түрде құрылған, деректер алмасуға арналған HTML-құжаттар тізбегі айтылады. Іс жүзінде клиенттік компьютер мен сервер арасында деректер алмасатын кез-келген HTML-құжат интерактивтік интерфейс құрумен байланысты. Интерактивтік интерфейс мәселеріне ретінде SQL-сервермен байланысу, деректер қорына кіру, перифериялық құрылғылырдан ақпарат алу, клиентпен қарым-қатынас орнату т.с.с. жатады. Бұл айтылғандардың барлығы РНР тілінде программалау технологиясы арқылы орындалады.

Әдебиеттер:

1.     Скотт Хокинс. Администрирование веб-сервера Apache и руководство по электронной коммерции = Apache Web Server Administration and e-Commerce Handbook. - М.: Вильямс, 2001. -336 с.

2.     Кевин Мельтцер, Брент Михальски. Разработка CGI-приложений на Perl = Writing CGI Application with Perl. - М.: «Вильямс», 2001. -С. -400.

3.    Томсон Л., Веллинг Л. Разработка Web-приложений на PHP и MySQL. - К.: "ДиаСофт", 2001. - 672 с.