نحوه ایجاد قابل اجرا بودن صفحات سایت، هم در هاست خانگی و هم در هاست اصلی، با وجود ویژگی های متفاوت پایگاه های داده (database) موجود در دو هاست، با کدهای PHP

همان طور که می دانید، اکثر سایت ها، از پایگاه های داده (database)، مثلا پایگاه داده MySQL ، برای سایت خود استفاده می کنند. معمولا هم، مدیر سایت، یک نسخه از سایت را بر روی هاست خانگی خود دارد تا تغییرات مورد نظرش را ابتدا به آن اعمال کند و سپس اگر مشاهده کرد که هیج مشکلی ندارد، فایل ها را در هاست اصلی، بارگذاری (upload) می کند و یا تغییرات پایگاه داده را به پایگاه داده موجود در هاست اصلی، اعمال خواهد کرد. بنابراین، مدیر سایت، دو نسخه از سایت را دارد، یکی بر روی هاست اصلی و دیگری بر روی هاست خانگی که برای تست تغییرات است. هاست خانگی، معمولا با نرم افزارهایی مثل wamp server شبیه سازی می شود.

گاهی ممکن است که مشخصات مربوط به پایگاه داده موجود در هاست خانگی، با مشخصات موجود در هاست اصلی، متفاوت باشد. مثلا فرض کنید که نام هر دو پایگاه داده، برابر باشد اما نام و رمز عبور کاربری که به پایگاه داده، دسترسی دارد متفاوت باشد. در اینگونه مواقع، باید کدها را به گونه ای بنویسیم که هنگام بارگذاری فایل ها در هاست اصلی، نیازی به تغییر این موارد نباشد و در واقع، صفحات سایت، هم در هاست خانگی و هم در هاست اصلی، به درستی کار کنند.

به عنوان مثال، کدهای لازم برای اتصال به پایگاه داده MySQL را به صورت زیر می نویسیم (فرض کرده ایم که دامنه سایت برابر kelidestan.com می باشد) :

ابتدا با خط زیر از کدها، آدرس URL صفحه فعلی که کاربر آن را مشاهده می کند را در متغیری با نام page_url ذخیره می کنیم :

سپس با تابع strstr چک می کنیم که آیا آدرس URL فعلی، با عبارت های http://localhost/kelidestan.com/ یا localhost/kelidestan.com/ دارای اشتراک می باشد یا خیر. اگر با یگی از این دو عبارت، اشتراک داشته باشد، یعنی صفحه در هاست خانگی اجرا شده است (از localhost نوشته شده در آن، می توان متوجه شد). بنابراین، بر این اساس و با دستور if ، دو حالت اجرا در هاست خانگی و اجرا در هاست اصلی را از هم جدا کرده و برای هر کدام، به صورت جداگانه، کدهای مربوط به اتصال به پایگاه داده MySQL را می نویسیم.

چون نام جدول های هر دو پایگاه داده، برابر است (نام جدول ها برابر هستند و در phpMyAdmin می توان جدول ها را تغییر داد)، بنابراین سایر کدها، برای هر دو حالت، مشابه می باشد.

نویسنده علیرضا گلمکانی
شماره کلید 576
گزینه ها
به اشتراک گذاری (Share) در شبکه های اجتماعی
نظرات 0 0 0

ارسال نظر جدید (بدون نیاز به عضو بودن در وب سایت)