شروع کار با PHP در ویندوز با کمک SQL Server
بلاگ آکادمی لرن فایلز
حمایت از دانشجویان و کسبوکارهای آسیبدیده با ۷۰و۸۵ درصد تخفیف-تا امشب
دریافتبلاگ آکادمی لرن فایلز
نحوه ی اجرای PHP در ویندوز چگونه است؟ دسترسی به زبان های برنامه نویسی و Componentهای آن ها در بستر های مختلف با کمک برنامه های رابط بسیار راحت شده است. این برنامه ها با نصب تمامی ویژگی های لازم، به شما کمک زیادی برای کار با سرور و زبان های مختلف برنامه نویسی می کنند. یکی از این موارد، WPI یا Windows Platform Installer است که در این مقاله برای فراخوانی SQL Server در زبان برنامه نویسیPhP از آن استفاده خواهیم کرد و به نحوه ی اجرای PHP در ویندوز به کمک SQL Server می پردازیم.
برنامه نصب Platform Installer یا همان WPI، یک برنامه مخصوص برای اجرای نرم افزار های تحت وب می باشد. WPI میتواند PHP ،SQL Server و فریم ورک .Net را باز کند. این برنامه هم چنین سرویس های اطلاعاتی اینرنتی IIS را برای برنامه های یاد شده پیکر بندی می کند و شروع کار را بسیار راحت کرده است. قبل از ایجاد یک برنامه، از WPI برای راه اندازی محیط برنامه نویسی خود استفاده می کنیم.
این مقاله با این فرضیه نوشته می شود که شما دانش کافی نسبت به PHP و پایگاه های داده ای مرتبط دارید. (اگر توانایی نوشتن کد های PHP ،SQL Server را دارید و میتوانید رکوردهای یک پایگاه دادهای را ویرایش کنید، این مقاله برای شما مناسب است). خیلی سریع PHP را با یکدیگر مرور خوایم کرد تا بر روی قدرت و سادگی این بستر تمرکز کنیم.
در ابتدا، به لینک زیر مراجعه کرده و نسخه ی مناسبی از WPI را نصب کنید:
http://www.microsoft.com/web/Downloads/platform.aspx
شما به سیستمی با ویندوز XP SP2+ ،Server 2003 SP1+ ،Server 2008, Vista SP1 یا Windows 7 برای این آموزش نیاز دارید. خود WPI یک مگابایت است، ولی چند مگابایت دیگر برای انتقال و نصب Componentهای بستر های مختلف در نظر بگیرید.
قبل از شروع نصب، مطمئن شوید بر روی سیستم شما IIS، نصب شده است. IIS در خیلی از نسخه های ویندوز وجود دارد، ولی در نخسه های خانگیHome Edition قرار نگرفته است. بخش Windows Features در کنترل پنل ویندوز را بررسی کنید و مطمئن شوید IIS در سیستم نصب شده است. اگر نبود، حتما آنرا نصب کنید.
WPI را باز کنید و نگاهی به گزینه های موجود داشته باشید. براحتی برنامه های Open Source مثل WordPress در قسمت برنامه ها مشهود هستند. WPI می تواند این برنامه ها و نرم افزار های کمکی شان را با کم ترین دردسر نصب کند.
برای نصب Componentها، به سربرگ Web Platform مراجعه کنید. برای نصب موارد مورد نیاز این مقاله مسیر زیر را دنبال کنید:
Web Server> Application Development > CGI, Frameworks and Runtimes > PHP > PHP ۵.x
نسخهی مورد نظر رو از بین گزینه های wpi، مثل شکل زیر، انتخاب و نصب نمایید.
به یاد داشته باشید که Client محلی SQL Server به عنوان یکی از برنامه های لازم PHP بر روی سیستم نصب می شود. این نرم افزار توانایی استفاده از ODBCبرای PHP را فراهم می کند و کار با نسخهی SQL Server ۲۰۰۵ را امکان پذیر خواهد نمود.
در حین نصب بر روی I agree کلیک کنید. در مرحلهی بعدی از شما خواسته می شود تا نحوهی ورود به نصب SQL Server را انتخاب کنید. حالت Mixed Mode را انتخاب کنید؛ توجه داشت باشید که برای برنامه نویسی خوب، هر دوحالت بلامانع هستند. نام کاربری SA را به شکل پیش فرض در نظر گرفته و یک پسورد برای آن انتخاب میکنیم.
هشدار: وارد کردن پسورد اشتباه
اگرچه هیچ هشداری هنگام نصب داده نمی شود، در صورت انتخاب یک پسورد ضعیف SQL Server کامل نخواهد شد. سعی کنید رمزعبورتان را با رعایت اصول امنیتی انتخاب کنید.
حالا، نصب را ادامه داده و در صورت برخورد با مشکل، به صفحه رفع اشکالات WPI در لینک زیر بروید:
http://learn.iis.net/page.aspx/604/troubleshoot-microsoft-web-platform-installer-issues/
وقتی WPI نصب شود، SQL Server بر روی سیستم شما آماده به کار است. در منوی Start، برنامه استودیوی SQL Server را به شکل زیر اجرا کنید:
مطابق با شکل زیر، به سرور متصل خواهید شد. برای این کار، از نام کاربری و رمز عبوری که در نصب انتخاب کردید استفاده کنید.
توجه داشته باشید که BUSLN1 نام کامپیوتر و SQLEXPRESS نام سرور مورد نظر در WPI است. از لیست روش های ورود به برنامه، نوع ورود خود را انتخاب کنید. اگر وصل نشدید، باید مممئن شوید که SQL Server در سیستم در حال اجراست. برای بررسی این موضوع در قسمت Run منوی استارت فرمان services.msc را باز کنید و سربرگ services را انتخاب کنید. SQL Server باید در این لیست در حال اجرا باشد.
وقتی که متصل شدید، SSMS مطابق با شکل زیر ، پایگاه های داده ای شما را به همراه یک سری اطلاعات دیگر در زمینه ی سرور، نمایش خواهد داد.
SSMS به شما کمک می کند تا سرور خود را مدیریت، پیکربندی و کنترل کنید. با این روش می توانید براحتی پایگاه های داده ای خود را نیز مدیریت کنید. برای اطلاعات بیشتر در زمینه کار با SSMS یا همان استودیوی مدیریت SQL Server به لینک زیر مراجعه کنید:
https://docs.microsoft.com/en-us/sql/ssms/sql-server-management-studio-ssms?view=sql-server-2017
اگر شما برنامه مدیریت IIS را نصب کرده باشید، براحتی می بینید که سرور و پایگاه داده ای در حال اجرا هستند. اما این برنامه نیاز به یک پایگاه داده ای مشخص دارد و باید قبل از نصب آن را ایجاد کرده باشید.
WPI آخرین نسخه PhP را بر روی سیستم نصب و IIS را برای آن پیکر بندی می کند. مطابق با شکل زیر، رابط IIS در قسمت ابزار های مدیریتی در کنترل پنل قرار دارد. هم چنین اگر شما در منوی استارت، IIS را تایپ کنید برای شما نمایش داده خواهد شد.
حالا با هم سرورIIS را پیکر بندی و وب سایت های مورد نظر را بررسی خواهیم کرد. از آن جایی که IIS در بیشتر نسخه های ویندوز وجود دارد، WPI به سادگی Componentهای مورد نیاز را اضافه و فعال کرده است. ممکن است گزینه های جلوی شما دقیقا مطابق با شکل نباشد، ولی اگر CGI فعال باشد شما می توانید به کار ادامه دهید.
اگر شما نتوانستید به سرور خود متصل شوید، بر روی سرور خود در شکل بالا ( که احتمالا همان نام کامپیوتر شماست) کلیک کنید. در سمت راستActions pane l را انتخاب کرده و وب سایت پیش فرض را معین کنید. مطمئن شوید که سرور در حال اجراست.
حالا باید بررسی کنیم که PHP بخوبی نصب شده است. سرور ما PHP را از طریق ماژول FastCGI اجرا می کند. در ابتدا، در قسمت سرور های متصل در سمت چپ، بر روی Modules دابل کلیک کنید.
در این لیست، ماژول FastCGI دیده می شود. اگر نبود، باید در منوی Configure Native Modules در سمت راست، فعال شود. اگر کلا موجود نبود باید مسیر زیر را برای آن انتخاب کرده و آن را فعال کنید:
%windir%System32inetsrviisfcgi.dll
حالا، وب سایت پیش فرض را انتخاب کنید. بخش ماژول ها را بازکرده و مطمئن شوید FastCGI در ایست قرار دارد.
در نهایت، وقتی که وب سایت انتخاب شد بر روی Handler Mappings کلیک کنید.
WPI یک ورودی به شکل PHP_via_FastCGI را مثل شکل بالا اضافه کرده است. اما، اگر این گزینه در لیست نبود باید در لیست ماژول ها، Add Module Mapping را انتخاب کرده *.PHP را وارد کنیم. سپس از لیست، FastcgiModule را انتخاب کنیم.این مسیر باید به شکل C:/Program files/PHP/PhP-cgi.exe باشد. نامی برای آن انتخاب کنید و Ok بزنید. IIS از شما می خواهد که یک FastCGI برای PhP مطابق با شکل زیر ایجاد کنید.
حالا آماده ایم تا برنامه های PhP را بر در IIS اجرا کنیم. وب سایت پیش فرض شما در مسیر C:inetpubwwwroot سندی دارد که با مدیریت IIS می توانید آنرا ویرایش کنید. فایل های پیش فرض IIS را از شاخه حذف کنید و یک فایل index.PhP ایجاد کنید. از ویرایشگر دلخواه خود برای این فایل استفاده کنید و خط زیر را به آن اضافه کنید:
PhPPhPinfo();exit;
در مرورگر خود ، http://localhost/index.PhP را بازکرده Sqlsrv را جستجو کنید. در ادامه می بینیم که درایور PHP نصب و راه اندازی شده است.
حالا وقت آن رسیده تا با استفاده از PhP یک پایگاه داده ای ایجاد کنیم. به برنامه مدیریت SQL Server یا همان SSMS بروید و به سرور مورد نظر خود متصل شوید. یک پایگاه داده ای ایجاد کنید. در قسمت databases، راست کلیک کرده و new database را انتخاب کنید. شکل زیر این فرایند را نمایش می دهد.
یک منوی ورودی برای پایگاه داده ای شما تعبیه شده است. این منو را باز کرده و در قسمت tables گزینه ی New Table را انتخاب کنید.
می توانید با تغییر نام جدول ها در قسمت سمت راست، اطلاعات مورد نظر و دلخواه خود را وارد کنید.(در این جا فقط یک ID و Name در جدولی به نام People دیده میشود. id را به عنوان یک کلید اصلی انتخاب کنید. در منوی Column name این کار انجام می شود.
در نهایت، بر روی دکمه save کلیک کرده و یا ctrl+s را بزنید تا جدول شما ایجاد شود. در مرورگر objects شما، جدول ایجاد شده قابل رویت است.
بر روی dbo.people راست کلیک کنید و گزینه ی Edit Top 100 Rows را انتخاب کنید. سپس، یک سری اطلاعات فرضی در یک ردیف مثل شکل زیر وارد کنید.
حالا به ویرایشگر متن بازگشته و index.PhP را درآن اجرا کنید. متن زیر را به آن اضافه کنید:
PhP$server = “BUSLN1\SQLEXPRESS“;$options = array( “UID” => “sa”, “PWD” => “password“, “Database” => “test”);$conn = sqlsrv_connect($server, $options);if ($conn === false) die(“
".print_r(sqlsrv_errors(), true));echo "Successfully connected!";sqlsrv_close($conn);
قسمت هایی از متن بالا که به شکل Italic نوشته شده اند باید نسبت به اطلاعات سروری شما تغییر کنند. هم چنین از \ به جای نام سرور استفاده کرده ایم که در PHP کاراکتر خروجی است. #server را با نام کامپیوتر خود تغییر دهید و pwd را با پسورد مورد نظر جایگزین کنید. اگر در قسمت نحوه ی ورود به سیستم در نصب SQL از گزینهی Windows mode استفاده کرده اید، نیازی به تغییر pwd وUID نیست. SQL Server از رمز کنونی ویندوز برای ورود به سرور استفاده خواهد کرد. این کد با استفاده از درایور SQL Server موجود در سیستم به سرور متصل خواهد شد. API کمی با درایور های mysql,mysqli و یا pgsql در PHP تفاوت دارد. برای اطلاعات بیشتر در زمینه ی درایور ها به لینک زیر مراجعه کنید:
http://msdn.microsoft.com/en-us/library/ee229548(SQL.10).aspx
به http://localhost/index.php و رفته و مطمئن شوید پیغام “successfully connected” قابل رویت است. اگر نبود، باید بررسی شود که SQL Server در سیستم اجرا شده و رمزو نام کاربری به درستی وارد شده اند. درایور PHP نیز به همین روال باید بررسی شود. برای اطلاعات بیشتر در زمینه ی نحوه ی اصتال به SQL Server به لینک زیر مراجعه کنید:
http://msdn.microsoft.com/en-us/library/cc296161%28SQL.90%29.aspx
هم اکنون، ردیفی که قبلا در پایگاه داده ایجاد کردیم را بررسی می کنیم. به ویرایشگر متن رفته و بعد از successfully connected! متن زیر را اضافه کنید:
$sql = “SELECT * FROM dbo.people”;$query = sqlsrv_query($conn, $sql);if ($query === false){ exit(“
".print_r(sqlsrv_errors(), true));}while ($row = sqlsrv_fetch_array($query)){ echo "
Hello, $row[name]!
“;}sqlsrv_free_stmt($query);
این کد تمامی رکورد ها را از جدول People فراخوانده و خروجی آن ها در فیلد Name نمایش داده خواهد شد. از فرمانSqlsrv-free-stmtبرای آزادکردن منابع برای هر جمله استفاده می کنیم. این فرمان الزامی نیست، ولی می تواند در پردازش جمله ها و کد های پیچیده تفاوت های زیادی ایجاد کند.
در مرورگر، http://localhost/index.php را باز کنید و جدول People را در آن مشاهده کنید. چند ردیف دیگر در SMSS اضافه کرده و صفحه را Refresh کنید. حالا بخوبی یاد گرفته ایم که چگونه از PHP، سرور SQL را فرابخوانیم و شروع به برنامه نویسی کنیم.
با کمک برنامهی مکمل WPI توانستیم براحتی PHP و SQL Server را به همراه فایل ها و برنامه های جانبی مورد نیاز نصب کنیم. دسترسی به سرور باید با نام گذاری دقیق و انتخاب رمز عبور با رعایت اصول امنیتی انجام شود. بعد از نصب موفقیت آمیز WPI و مطمئن شدن از وجود ISS در سیستم، میتوان پایگاه های داده ای مورد نظر را ایجاد و با فراخوانی SQL Sever از PHP شروع به نوشتن برنامه های تحت وب کنیم.
منبع : https://www.sitepoint.com
مرسی از آموزش خوب و مفیدتان