Wednesday, January 29, 2014

Professional Web Development with PHP – PHP Installation and Configuration

ဒီ tutorial ေလးမွာေတာ့ PHP ကို run ဖို႕ လိုအပ္တဲ့ software ေတြ install လုပ္ဖို႕ကို တင္ျပေပးပါ့မယ္။ PHP ဟာ server side scripting language ျဖစ္တဲ့အတြက္ သူ႕ကို run ဖို႕ web server လိုအပ္မွာ ျဖစ္ပါတယ္။ ျပီးရင္ PHP code ေတြကို parse လုပ္ေပးဖို႕အတြက္ PHP လည္း လိုအပ္မွာ ျဖစ္ပါတယ္။ ဒါ့အျပင္ ေနာက္ပိုင္း projects ေရးတဲ့အခါမွာကို data ေတြကို သိမ္းဖို႕အတြက္ databases လည္း လိုအပ္မွာ ျဖစ္ပါတယ္။


PHP ရဲ႕ manual ထဲမွာေတာ့ တစ္ခုခ်င္းစီကို install လုပ္ျပီး ခ်ိတ္ျပထားပါတယ္။ ဒါေပမယ့္ ကၽြန္ေတာ္ကေတာ့ WAMP server ကို သံုးျပီး ဘယ္လို run ရမလဲဆိုတာကို ရွင္းျပေပးပါ့မယ္။ WAMP server ကို install လုပ္လိုက္ရင္ Apache web server , PHP နဲ႕ MySQL database တို႕ကို install လုပ္ျပီးသား ခ်ိတ္ျပီးသား ျဖစ္တဲ့အတြက္ php projects ေတြကို တစ္ခါတည္း run ႏိုင္ေတာ့မွာ ျဖစ္ပါတယ္။


WAMP server လိုမ်ိဳး တစ္ျခား software ေတြ ရွိပါေသးတယ္ အဲဒါေတြကေတာ့ XAMPP နဲ႕ MAMP တို႕ ျဖစ္ၾကပါတယ္။ WAMP server ကေတာ့ Windows အတြက္ အသံုးျပဳဖို႕ ထုတ္ထားတာ ျဖစ္ပါတယ္။ ဒီ tutorial မွာ WAMP ကို ေရြးခ်ယ္ရတာက ဒီ ႏိုင္ငံမွာ window သံုးတဲ့ users က ပိုမ်ားလို႕ ျဖစ္ပါတယ္။ MAMP ကေတာ့ Mac OS မွာ အသံုးျပဳဖို႕ျဖစ္ပါတယ္။ XAMPP ကေတာ့ cross platform ျဖစ္တဲ့အတြက္ OS တိုင္းမွာ အသံုးျပဳႏ္ိုင္မွာ ျဖစ္ပါတယ္။ ဘယ္ software ကို ပဲ သံုးသံုး Apache web server, PHP နဲ႕ MySQL database ကို ပဲ install လုပ္ေပးမွာ ျဖစ္တဲ့အတြက္ အသံုးျပဳရတာ သိပ္ကြဲျပားမွာ မဟုတ္ပါဘူး။


အရင္ဆံုး WAMP server ကို install လုပ္လိုက္ၾကရေအာင္လားဗ်ာ။ WAMP server ကို install လုပ္ဖို႕ အတြက္ http://www.wampserver.com/en မွာ download လုပ္ရမွာ ျဖစ္ပါတယ္။ တစ္ကယ္လို႕ သင္ရဲ႕ စက္မွာ Microsoft Visual C++ နဲ႕ ပတ္သက္တဲ့ file မရွိဘူးဆိုရင္ အဲဒီ့ website က ေပးတဲ့ link ကေနျပီး download လုပ္ျပီး install လုပ္ထားဖို႕ လိုအပ္မွာ ျဖစ္ပါတယ္။


Download လုပ္ျပီးသြားရင္ေတာ့ down ထားတဲ့ wampserver2.4.exe file ကို click လုိက္ပါ။ ကၽြန္ေတာ္ကေတာ့ ေနာက္ဆံုး ထြက္တဲ့ version ျဖစ္တဲ့ wampserver2.4 နဲ႕ နမူနာလုပ္ျပပါမယ္။ ေအာက္က ပံုအတိုင္းေတြ႕ျမင္ရမွာ ျဖစ္ပါတယ္။


wamp server



Next ကို ႏွိပ္လုိက္ပါ။ ျပီးရင္ I accept the agreement ဆိုတဲ့ radio button ေလးကို select လုပ္ျပီး Next ကို ႏွိပ္လုိက္ပါ။ Destination folder ေရြးခိုင္းတဲ့ အဆင့္ကို ေရာက္ရွိသြားပါျပီ Next ကို ပဲ ဆက္ႏွိပ္လိုက္ပါ။ Create a Quick Launch icon နဲ႕ Create a  Desktop icon တိ္ု႕ကို အသံုးျပဳမယ္ ဆိုရင္ အမွန္ျခစ္ျပီး Next ႏွိပ္လိုက္ပါ။ ျပီးရင္ Install ကို ႏွိပ္လိုက္ပါ။ SMTP နဲ႕ Email လာေတာင္းတဲ့ wizard မွာလည္း Next ကိုပဲ ႏွိပ္လိုက္ပါ။ ျပီးရင္ Launch WampServer 2 now ကို အမွန္ျခစ္ ျခစ္ျပီး Finish button ကို ႏွိပ္လိုက္ပါ။ သင့္ computer ရဲ႕ ညာဘက္ေထာင့္မွာ ေအာက္ကပံုအတိုင္း ေတြ႕ရမွာ ျဖစ္ပါတယ္။


wamp server



ဒါဆိုရင္ေတာ့ WampServer run ေနျပီ ျဖစ္ပါတယ္။ ဒီ tray icon ေလး စိမ္းေနရင္ Apache web server ေရာ MySQL server ေရာ service on ေနျပီ လို႕ ေျပာတာ ျဖစ္ပါတယ္။ တစ္ကယ္လို႕ ဒီ icon ေလး အနီေရာင္ဆိုရင္ေတာ့ သင့္ရဲ႕ Apache web server ေကာ MySQL server ေရာ sevice မ on တဲ့အတြက္ သင္ PHP ကို run လို႕ မရႏိုင္ပါဘူး။ အ၀ါေရာင္ဆိုရင္ေတာ့ သင့္ရဲ႕ server ႏွစ္ခုထဲက တစ္ခုပဲ service on ျပီး က်န္တစ္ခုက service မ on လို႕ ျဖစ္ပါတယ္။ ဥပမာ Apache server ပဲ service on ျပီး MySQL က service မ on တာဆိုရင္ PHP ကိုေတာ့ သင္ run ႏိုင္မွာ ျဖစ္ေပမယ့္ database ကိုေတာ့ access လုပ္လို႕ မရႏိုင္ပါဘူး။ ဒီ icon ေလးကို ႏွိပ္ျပီး Start All Services ကို ႏွိပ္လိုက္ရင္ services ေတြ အားလံုး start ျဖစ္သြားမွာ ျဖစ္ျပီး Stop All Services ကို ႏွိပ္လိုက္ရင္ေတာ့ services ေတြအားလံုး stop ျဖစ္သြားမွာ ျဖစ္ပါတယ္။


Icon ေလးကိုႏွိပ္ျပီး Apache ေပၚကို mouse pointer တင္လိုက္မယ္ဆိုရင္ေတာ့ Version, Service, Apache modules, Alias directories ဆိုတဲ့ folder ပံုစံ icon ေလးေတြပါတဲ့ menu ေလးခုကို ေတြ႕ရမွာ ျဖစ္ပါတယ္။ ဒါ့အျပင္ စာရြက္ပံု icon နဲ႕ httpd.conf, Apache error log, Apache access log စတဲ့ menu သံုးခုကိုလည္း ေတြ႕ရမွာ ျဖစ္ပါတယ္။ ေအာက္ကပံုက မွင္နီနဲ႕ ၀ိုင္းထားတဲ့ ေနရာေလးကို ေျပာတာျဖစ္ပါတယ္။


wamp server



Version ဆိုတဲ့ menu ေလးေပၚကို mouse pointer ေလးတင္လိုက္မယ္ဆိုရင္ Apache ရဲ႕ version number ကို ေဖာ္ျပတာကို ေတြ႕ရမွာ ျဖစ္ပါတယ္။ Service ေပၚကို mouse pointer ေလးတင္လိုက္ရင္ ေအာက္ကပံုလိုမ်ိဳး ျမင္ေတြ႕ရမွာ ျဖစ္ပါတယ္။


wamp server



အဲဒီ့မွာ apache service က start လုပ္ျပီးသား ျဖစ္ေနတဲ့အတြက္ ေၾကာင့္ Start/Resume Service menu က မွိန္ေနတာ ျဖစ္ပါတယ္။ အဲဒီမွာ stop service ကို ႏွိပ္ျပီး service ကို stop လုပ္ႏိုင္သလို တစ္ျခား menu ေတြကိုလည္း စမ္းသပ္သံုးၾကည္႕လို႕ရပါေသးတယ္။ အရမ္းလည္း အေရးမၾကီး မထူးဆန္းတဲ့အတြက္ အေသးစိက္ကိုေတာ့ မေရးေတာ့ပါဘူး။


Apache modules ဆိုတဲ့ menu ေလးကို mouse pointer ေလးတင္လိုက္ရင္ေတာ့ Apache ရဲ႕ module ေတြကို list ေတြနဲ႕ ေဖာ္ျပေပးမွာ ျဖစ္ပါတယ္။ ကိုယ့္ project က လိုအပ္တဲ့ modules ေတြကို အမွန္ျခစ္ ျခစ္လိုက္ရံဳနဲ႕ Apache ရဲ႕ အဲဒီ့ ျခစ္လိုက္တဲ့ modules ကို အသံုးျပဳႏိုင္မွာ ျဖစ္ပါတယ္။ တစ္ခ်ိဳ႕ PHP framework ေတြက Apache ရဲ႕ rewrite module ကို အသံုးျပဳရမွာ ျဖစ္တဲ့အတြက္ အဲလိုအခ်ိန္မ်ိဳးမွာ rewrite_module ဆိုတဲ့ list ေလးကို အမွန္ျခစ္ ျခစ္ေပးဖို႕ လိုအပ္မွာ ျဖစ္ပါတယ္။


Alias directories ကေတာ့ ေက်ာ္ခဲ့ပါေတာ့မယ္ ေနာက္မွ လိုအပ္ရင္ ထပ္ေျပာေပးပါ့မယ္။


httpd.conf ဆိုတဲ့ menu ကို ႏွိပ္လိုက္ရင္ Apache ရဲ႕ configuration file ကို notepad နဲ႕ ဖြင့္ေပးတာကို ေတြ႕ရမွာ ျဖစ္ပါတယ္။ အဲဒီမွာ ဒီလိုမ်ိဳး စာသားေတြကို ေတြ႕ရမွာ ျဖစ္ပါတယ္….


#


# NOTE: Where filenames are specified, you must use forward slashes


# instead of backslashes (e.g., "c:/apache" instead of "c:\apache").


# If a drive letter is omitted, the drive on which Apache.exe is located


# will be used by default.  It is recommended that you always supply


# an explicit drive letter in absolute paths to avoid confusion.


# ကို apache ရဲ႕ configuration file ထဲမွာ comment အေနနဲ႕ အသံုးျပဳတဲ့အတြက္ # ေနာက္ကလိုင္းေတြကို server က skip လုပ္သြားမွာ ျဖစ္ပါတယ္။ ေရွ႕မွာ # မခံထားတဲ့


ServerRoot "c:/wamp/bin/apache/apache2.2.21" ဆိုတဲ့ စာသားေလးကို ေတြ႕ပါလိမ့္မယ္။ အဲဒီ့ စာသားေလးဟာ Apache Web Server software ဘယ္ေနရာမွာ ရွိလဲဆိုတာကို ေဖာ္ျပတဲ့ directory ကို ေရးထားတာ ျဖစ္ပါတယ္။


Listen 80


ဆိုတဲ့ စာသားေလးက post နံပါတ္ကို ရည္ညႊန္းတာ ျဖစ္ပါတယ္။ ကိုက post နံပါတ္ကို ခ်ိန္းခ်င္ရင္ အဲဒီ့ စာသားေလးကို ခ်ိန္းရမွာ ျဖစ္ပါတယ္။ ဥပမာ…Listen 8088 လို႕ ျပင္ေရးလိုက္တာဟာ post နံပတ္ကို ခ်ိန္းလိုက္တာ ျဖစ္ပါတယ္။


ေအာက္ကို ဆက္ဆင္းျပီး ၾကည္႕လိုက္မယ္ဆိုရင္


DocumentRoot "c:/wamp/www/"


ဆိုတဲ့ စာသားကို ေတြ႕ရမွာ ျဖစ္ပါတယ္။ အဲ့ဒီ စာသားကေတာ့ PHP နဲ႕ ေရးထားတဲ့ projects ေတြကို ထည္႕သြင္းရမယ့္ ေနရာ (directory) ကို ရည္ညၽြန္းေဖာ္ျပတာ ျဖစ္ပါတယ္။


<Directory "c:/wamp/www/">


    #


    # Possible values for the Options directive are "None", "All",


    # or any combination of:


    #   Indexes Includes FollowSymLinks SymLinksifOwnerMatch ExecCGI MultiViews


    #


    # Note that "MultiViews" must be named *explicitly* --- "Options All"


    # doesn't give it to you.


    #


    # The Options directive is both complicated and important.  Please see


    # http://httpd.apache.org/docs/2.2/mod/core.html#options


    # for more information.


    #


    Options Indexes FollowSymLinks



    #


    # AllowOverride controls what directives may be placed in .htaccess files.


    # It can be "All", "None", or any combination of the keywords:


    #   Options FileInfo AuthConfig Limit


    #


    AllowOverride all


    #


    # Controls who can get stuff from this server.


    #



#   onlineoffline tag - don't remove


    Order Deny,Allow


    Deny from all


    Allow from 127.0.0.1


</Directory>



အထက္က <Directory "c:/wamp/www/">  က စျပီး </Directory> အထိေရးထားတဲ့ စာသားေတြက ကိုယ္႕ရဲ႕ projects ကို ဘယ္ေနရာကေနျပီး access လုပ္ႏိုင္မလဲလို႕ configure လုပ္ထားတာ ျဖစ္ပါတယ္။ အဲဒီမွာ Allow from 127.0.0.1 လို႕ ေရးထားတဲ့ စာသားေၾကာင့္ သင့္ရဲ႕ စက္တစ္လံုးတည္းသာ ( apache web server ကို install လုပ္ထားတဲ့ စက္) သာ သင့္ရဲ႕ PHP projects ေတြကို access လုပ္ႏိုင္မွာ ျဖစ္တဲ့အတြက္ သင့္ရဲ႕ ကိုယ္ပိုင္ browser ကေနပဲ သင့္ရဲ႕ PHP project ေတြကို ၾကည္႕ႏိုင္မွာ ျဖစ္ပါတယ္။ Deny from all ဆိုတဲ့ စာသားကုိ ျဖတ္ျပီး Allow from all လို႕ ေျပာင္းလိုက္မယ္ ဆိုရင္ေတာ့ သင့္ရဲ႕ projects ကို network ခ်ိတ္ထားတဲ့ တစ္ျခားစက္ေတြရဲ႕ browser ေတြကေနလည္း ၾကည္႕ရွဳႏိုင္မွာ ျဖစ္ပါတယ္။



အခု ဆက္လက္ျပီး MySQL ဆိုတဲ့ menu ေလးေပၚ mouse pointer တင္ၾကည္႕လုိက္ပါဦး ေအာက္က ပံုအတုိင္းေတြ႕ျမင္ရမွာ ျဖစ္ပါတယ္။


wamp server



Version ဆိုတဲ့ menu ကို ႏွိပ္လိုက္ရင္ေတာ့ version ကို ျပထားတာကို ေတြ႕ရပါလိမ့္မယ္။ Service ဆိုတဲ့ menu ကေတာ့ apache ရဲ႕ Service ဆိုတဲ့ menu အတိုင္း service ေတြကို start/stop လုပ္ႏိုင္တဲ့ ေနရာ ျဖစ္ပါတယ္။ အေပၚမွာ ေျပာခဲ့တဲ့ apache ရဲ႕ Service ဆိုတဲ့ menu အတိုင္း အသံုးျပဳႏိုင္တဲ့အတြက္ အေသးစိတ္ကို ထပ္မရွင္းျပေတာ့ပါဘူးေနာ္။


MySQL console ကို ႏွိပ္လိုက္မယ္ဆိုရင္ေတာ့ Command Prompt လိုမ်ိဳး အမည္းေရာင္ screen ကို ေတြ႕ရမွာ ျဖစ္ပါတယ္။ အဲဒီ့ console ကို သံုးျပီး MySQL database ထဲမွာ databases ေတြ တည္ေဆာက္တာ table ေတြတည္ေဆာက္တာကို အသံုးျပဳႏိုင္မွာ ျဖစ္ပါတယ္။ Database Tutorial ကို ေရးေတာ့မွ ပဲ က်န္တဲ့ အေသးစိတ္ကို ဆက္ရွင္းျပေပးပါ့မယ္။ အရင္ဆံုး အဲဒီ့ console ကို သံုးျပီး သင့္ database ရဲ႕ password ကို ခ်ိန္းလိုက္ရေအာင္ေနာ္။ သင့္ database မွာ password မရွိေသးလို႕  ခ်ိန္းခိုင္းရတာ ျဖစ္ပါတယ္။ အဲဒါဆို console ကို ႏွိပ္ျပီး ေအာက္က ပံုထဲမွာ ရိုက္ထားတဲ့ command ေတြအတိုင္း လိုက္ရိုက္လိုက္ပါေနာ္။


Wamp Server



အဓိက ရိုက္ရမယ့္ command ေတြကေတာ့ use mysql, ျပီးရင္ update user set password=password(‘root’) where user=’root’; တို႕ ျဖစ္ပါတယ္။ ပံုမွာ လည္းပါတဲ့အတြက္ ေသခ်ာၾကည္႕ျပီး ရိုက္လိုက္ပါေနာ္။ ျပီးရင္ icon ကို ႏွိပ္ျပီး Restart All Services ကို ႏွိပ္လိုက္ပါေနာ္။ icon ေလးက အစိမ္းေရာင္ေလး ျပန္ျဖစ္သြားရင္ေတာ့ သင့္ database ရဲ႕ password က ခ်ိန္းျပီးသြားျပီး ျဖစ္ပါတယ္။ password က root ျဖစ္ပါတယ္။ command မွာ ရိုက္တုန္းက password(‘root’) လို႕ ထည္႕လိုက္တဲ့အတြက္ေၾကာင့္ သင့္ password က root ျဖစ္သြားတာ ျဖစ္ပါတယ္။ တစ္ကယ္လို႕ command မွာ သင္က password(‘itstudentpro’) လို႕ ရိုက္လိုက္မယ္ဆိုရင္ေတာ့ သင့္ password က itstudentpro ျဖစ္သြားမွာ ျဖစ္ပါတယ္။


ျပီးရင္ PHP menu ေပၚကို mouse pointer ေလးတင္ၾကည္႕ပါဦးေနာ္…ေအာက္ကပံုေလးကို ေတြ႕ရမွာပါ။


wamp server



PHP extensions ကိုပဲ ေျပာေတာ့မယ္ေနာ္ က်န္တဲ့ setting ေတြက မျပင္လည္း သူ႕ရဲ႕ default အတိုင္း အသံုးျပဳရ အဆင္ေျပေနလို႕ ျဖစ္ပါတယ္။ ေျပေနရင္ post က အရမ္းရွည္သြားမွာ စိုးလို႕ပါ။


PHP extensions ကို ႏွိပ္လိုက္မယ္ဆိုရင္ေတာ့ php ရဲ႕ extensions list ေတြကို ေတြ႕ရမွာ ျဖစ္ပါတယ္။ သင္ဟာ PHP နဲ႕ MySQL databases ကို ခ်ိတ္ဆက္ျပီး အသံုးျပဳခ်င္တယ္ဆိုရင္ php_mysql ဆိုတဲ့ list ကို အမွန္ျခစ္ျခစ္ျပီး ေရြးေပးထားရမွာ ျဖစ္ပါတယ္။


ကဲ ကၽြန္ေတာ္ ဒီ installation and configuration အေၾကာင္းကို ေရးလိုက္တာ ေတာ္ေတာ္ေလးရွည္သြားတဲ့အတြက္ေတာင္းပန္ပါတယ္။ ေနာက္ chapter ေတြမွာ PHP အေၾကာင္းကို ဆက္လက္ေဖာ္ျပေပးသြားမွာ ျဖစ္ပါတယ္။ တစ္ကယ္လို႕ ေ၀ဖန္အၾကံျပဳခ်င္လို႕ပဲ ျဖစ္ျဖစ္….ေမးျမန္းဖို႕ပဲ ျဖစ္ျဖစ္ ဆက္သြယ္ခ်င္ရင္ေတာ့ waiphyoaung@ucsy.edu.mm ကုိ email ေပးပို႕ျပီး ေ၀ျဖန္ အၾကံညဏ္ေပးပို႕ ႏိုင္ပါတယ္။


Previous Chapter << PHP Introduction

1 comment:

  1. […] Professional Web Development with PHP – PHP Installation and ConfigurationJava Tutorial 10Professional Web Development with PHP – PHP IntroductionJava Tutorial 9Samsung […]

    ReplyDelete