نصب Apache، PHP، MySQL و phpMyAdmin در ویندوز XP. نصب PHP بر روی ماشین محلی شما نصب PHP به عنوان یک ماژول آپاچی


لینک مستقیم: php-5.3.10-Win32-VC9-x86.zip
در عین حال، بلافاصله اسناد را به زبان روسی با فرمت chm دانلود کنید، هنگام مطالعه و کار به آن نیاز خواهید داشت: php_enhanced_ru.chm

آرشیو را در دایرکتوری مورد نظر باز کنید (در ابتدا "C:\php" پیشنهاد می شود). فایل پیکربندی حاوی تنظیمات توصیه شده - "php.ini-development" (واقع در ریشه توزیع) را باز کنید، نام آن را به php.ini تغییر دهید و تغییرات زیر را انجام دهید.

ویرایش php.ini:

  1. خط را پیدا کنید:
    post_max_size = 8M
    حداکثر اندازه داده های پذیرفته شده توسط روش POST را با تغییر آن به 16 مگابایت افزایش دهید:
    post_max_size = 16M
  2. خط را پیدا کنید:
    ;include_path = ".;c:\php\includes"
    با حذف نقطه ویرگول قبل از خط، آن را لغو نظر کنید.
    (استثنای توجه! هنگام تعیین مسیر، اسلش معکوس می‌شود):
    include_path = ".;c:\php\includes"
    یک دایرکتوری خالی "C:\php\includes" ایجاد کنید تا کلاس های موجود را ذخیره کنید.
  3. خط را پیدا کنید:
    extension_dir = "./"
    مقدار این دستورالعمل را روی مسیر پوشه با پسوندها تنظیم کنید:
    extension_dir = "c:/php/ext"
  4. خط را پیدا کنید:
    ;upload_tmp_dir =
    آن را از کامنت خارج کنید و مسیر زیر را در مقدار مشخص کنید:
    upload_tmp_dir = "C:/php/upload"
    یک پوشه خالی "C:\php\upload" برای ذخیره فایل های موقت آپلود شده از طریق HTTP ایجاد کنید.
  5. خط را پیدا کنید:
    upload_max_filesize = 2M
    حداکثر اندازه مجاز آپلود فایل را به 16 مگابایت افزایش دهید:
    upload_max_filesize = 16M
  6. داده های کتابخانه افزونه را وصل کنید، از نظر برداشت کنید:
    extension=php_bz2.dll
    extension=php_curl.dll
    extension=php_gd2.dll
    extension=php_mbstring.dll
    extension=php_mysql.dll
    extension=php_mysqli.dll
  7. خط را پیدا کنید:
    ;date.timezone =
    برداشتن نظر و مقدار آن را برای منطقه زمانی مکان خود تنظیم کنید (مستندات را برای لیست مناطق زمانی ببینید):
    date.timezone = "اروپا/مسکو"
  8. خط را پیدا کنید:
    ;session.save_path = "/tmp"
    از کامنت بردارید و مقدار این دستورالعمل را روی مسیر زیر قرار دهید:
    session.save_path = "C:/php/tmp"
    یک پوشه خالی "C:\php\tmp" برای ذخیره فایل های جلسه موقت ایجاد کنید.
تغییرات خود را ذخیره کرده و فایل php.ini را ببندید.

بعد، باید دایرکتوری با مفسر PHP نصب شده را به PATH اضافه کنید سیستم عامل. برای انجام این کار، مسیر "شروع" ("شروع") -> "کنترل پنل" ("کنترل پنل") -> "سیستم" ("سیستم") را دنبال کنید، برگه "پیشرفته" ("پیشرفته") را باز کنید. روی دکمه "Environment Variables" کلیک کنید، در بخش "System Variables"، روی خط "Path" دوبار کلیک کنید، در قسمت "Variable Value" اضافه کنید، علاوه بر آنچه از قبل وجود دارد، مسیر را به فهرست نصب PHP اضافه کنید. به عنوان مثال، "C:\php" (بدون نقل قول). توجه داشته باشید که کاراکتر نقطه ویرگول مسیرها را از هم جدا می کند. برای اعمال تغییرات، سیستم عامل را مجددا راه اندازی کنید.

مثال رشته مسیر:
%SystemRoot%\system32;%SystemRoot%;%SystemRoot%\System32\Wbem;C:\php;C:\Program Files\MySQL\MySQL Server 5.5\bin

نصب و پیکربندی مفسر PHP اکنون کامل شده است.

شرح کتابخانه های موجود:

php_bz2.dll– با استفاده از این پسوند، PHP قادر به ایجاد و باز کردن آرشیو با فرمت bzip2 خواهد بود.

php_curl.dll- یک کتابخانه بسیار مهم و ضروری که امکان اتصال و کار با سرورها را با استفاده از تعداد زیادی پروتکل اینترنت فراهم می کند.

php_gd2.dll- یکی دیگر از کتابخانه های ضروری که به شما امکان می دهد با گرافیک کار کنید. فکر کردید PHP فقط می تواند صفحات HTML تولید کند؟ اما نه! تقریباً همه چیز را می توان با PHP انجام داد، از جمله طراحی.

php_mbstring.dll- این کتابخانه دارای توابعی برای کار با رمزگذاری های چند بایتی است که شامل کدگذاری زبان های شرقی (ژاپنی، چینی، کره ای)، یونیکد (UTF-8) و غیره است.

php_mysql.dll- نام کتابخانه برای خود صحبت می کند - کار با آن ضروری است سرور MySQL.

php_mysqli.dll– این کتابخانه پسوند قبلی است و شامل توابع اضافی PHP برای کار با سرور MySQL نسخه 4.1.3 و بالاتر.

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

«

این بخش از راهنما برای Windows 98/Me و Windows NT/2000/XP/2003 کاربرد دارد. PHP بر روی پلتفرم های 16 بیتی مانند ویندوز 3.1 اجرا نمی شود و گاهی اوقات ما به پلتفرم های پشتیبانی شده از ویندوز به عنوان Win32 اشاره می کنیم.

اظهار نظر:

ویندوز XP/2003 دیگر برای PHP 5.5.0 پشتیبانی نمی شود.

اظهار نظر:

ویندوز 98/Me/NT4/2000 دیگر برای PHP 5.3.0 پشتیبانی نمی شود.

اظهار نظر:

ویندوز 95 دیگر برای PHP 4.3.0 پشتیبانی نمی شود.

اگر یک محیط توسعه مانند Microsoft Visual Studio دارید، می توانید PHP را از منبع نیز بسازید.

هنگامی که PHP روی ویندوز نصب شد، ممکن است بخواهید پسوندهای مختلفی را نیز دانلود کنید تا عملکردهای اضافی را ارائه دهید.

راهنمای نصب دستی

این بخش حاوی دستورالعمل هایی برای نصب دستیو تنظیمات PHP را به ویندوز مایکروسافت.

انتخاب و دانلود بسته توزیع PHP

توزیع PHP را به صورت فایل فشرده از . چند وجود دارد نسخه های مختلفبسته های فشرده - نسخه ای را انتخاب کنید که مناسب سرور وب شما باشد:

ساختار و محتوای بسته PHP

محتویات بایگانی zip را در یک فهرست انتخابی خود استخراج کنید، به عنوان مثال C:\PHP\. ساختار پوشه ها و فایل های استخراج شده از آرشیو به این صورت خواهد بود:

مثال شماره 1 ساختار بسته PHP 5

c:\php | +--dev | | | |-php5ts.lib -- نسخه غیر رشته ای php5.lib | +--ext -- ماژول های DLL برای PHP | | | |-php_bz2.dll | | | |-php_cpdf.dll | | | |-... | +--اضافی -- خالی | +--گلابی -- نسخه اولیه PEAR | | |-go-pear.bat -- اسکریپت نصب PEAR | |-... | |-php-cgi.exe -- CGI قابل اجرا | |-php-win.exe -- اسکریپت ها را بدون کنسول باز اجرا می کند | |-php.exe -- PHP قابل اجرا برای خط فرمان(CLI) | |-... | |-php.ini-development -- تنظیمات پیش فرض php.ini | |-php.ini-production -- تنظیمات توصیه شده php.ini | |-php5apache2_2.dll -- فقط در نسخه چند رشته ای | |-php5apache2_2_filter.dll -- فقط در نسخه چند رشته ای موجود است | |-... | |-php5ts.dll -- هسته PHP DLL (php5.dll در نسخه بدون رشته) | |-...

در زیر لیستی از ماژول ها و فایل های اجرایی موجود در توزیع فشرده PHP آمده است:

    php-cgi.exe یک فایل اجرایی CGI است که می تواند هنگام اجرای PHP در IIS از طریق CGI یا FastCGI استفاده شود.

    php-win.exe - PHP قابل اجرا برای اجرای اسکریپت های PHP بدون استفاده از کنسول (به عنوان مثال، برنامه های PHP با استفاده از رابط کاربری گرافیکی ویندوز).

    php.exe - فایل اجرایی PHP برای اجرای اسکریپت های PHP در کنسول (CLI).

    php5apache2_2.dll - ماژول Apache 2.2.X.

    php5apache2_2_filter.dll - فیلتر Apache 2.2.X.

تغییر فایل php.ini

هنگامی که محتویات بسته php استخراج شد، یک کپی از php.ini-production با نام php.ini در همان پوشه ایجاد کنید. در صورت نیاز، امکان قرار دادن php.ini در هر مکان دیگری نیز وجود دارد، اما این نیاز به پیکربندی اضافی دارد که در قسمت تنظیمات PHP فهرست شده است.

فایل php.ini حاوی قوانین و دستورالعمل های اجرای PHP برای کار با محیطی است که در آن اجرا می شود. در زیر برخی از تنظیمات php.ini آورده شده است که می تواند نحوه عملکرد PHP در ویندوز را بهبود بخشد. برخی از آنها اختیاری هستند. بسیاری از دستورالعمل های دیگر وجود دارند که ممکن است در محیط شما مفید باشند - برای جزئیات بیشتر به لیست دستورالعمل های php.ini مراجعه کنید.

بخشنامه های اجباری:

    extension_dir = <путь к директории модулей> - extension_dir فهرستی را که ماژول های PHP در آن قرار دارند را مشخص می کند. مسیر می تواند مطلق باشد (به عنوان مثال "C:\PHP\ext") یا نسبی (به عنوان مثال ".\ext"). ماژول های مورد استفاده در php.ini باید در extension_dir قرار داشته باشند.

    پسوند= xxxxx.dll- برای هر افزونه باید دستورالعمل "extension=" را مشخص کنید. ماژول های extension_dir که با این دستورالعمل مشخص شده اند، با شروع PHP بارگذاری می شوند.

    log_errors = بر- PHP دارای مکانیزم ثبت خطا است که می تواند برای ذخیره خطاها در یک فایل یا ارسال آنها به یک سرویس (مثلا syslog) استفاده شود. این مکانیسم همچنین از مقدار دستور error_log استفاده می کند. هنگامی که PHP توسط IIS اجرا می شود، log_errors باید با error_log صحیح فعال شود.

    error_log = <пусть к файлу лога ошибок> - error_log برای نشان دادن مسیر مطلق یا نسبی فایل مورد نیاز است که در آن خطاهای PHP ثبت شده است. این فایل باید توسط وب سرور قابل نوشتن باشد. رایج‌ترین مکان‌های این فایل، دایرکتوری‌های موقت TEMP هستند، مانند "C:\inetpub\temp\php-errors.log".

    cgi.force_redirect = 0 - این دستورالعمل برای اجرا تحت IIS مورد نیاز است. این یک مکانیسم حفاظت از دایرکتوری است که توسط بسیاری از سرورهای وب دیگر مورد نیاز است. با این حال، فعال کردن آن تحت IIS باعث ایجاد خطاهای هسته PHP در ویندوز می شود.

    cgi.fix_pathinfo = 1 - پشتیبانی از PATH_INFO را طبق مشخصات CGI ارائه می دهد. IIS FastCGI از این تنظیم استفاده می کند.

    fastcgi.جعل هویت = 1 - FastCGI تحت IIS از توانایی شناسایی توکن های امنیتی مشتری تماس گیرنده پشتیبانی می کند. این به IIS اجازه می دهد تا زمینه امنیتی را که در آن درخواست انجام می شود، تعیین کند.

    fastcgi.logging= 0 - ورود به سیستم FastCGI باید در IIS غیرفعال شود. اگر ورودی فعال باشد، تمام پیام‌های هر کلاس به‌عنوان خطا توسط FastCGI شناسایی می‌شوند که باعث می‌شود IIS یک استثنا HTTP 500 ایجاد کند.

بخشنامه های اختیاری

    max_execution_time = ## - این دستورالعمل حداکثر زمان اجرای هر اسکریپت PHP را مشخص می کند. پیش فرض 30 ثانیه است. اگر برنامه PHP شما نیاز به اجرای طولانی تری دارد، باید این مقدار را افزایش دهید.

    حافظه_محدودیت = ###م- مقدار حافظه موجود برای فرآیند PHP، به مگابایت. پیش فرض 128 است که برای اکثر برنامه های PHP کافی است. برخی از برنامه های پیچیده ممکن است به حافظه بیشتری نیاز داشته باشند.

    display_errors= خاموش- دستورالعمل تعیین می کند که کدام خطاها باید برای ثبت بیشتر به وب سرور بازگردانده شوند. وقتی روی "روشن" تنظیم می شود، PHP انواع خطاهایی را که در دستورالعمل error_reporting فهرست شده اند گزارش می کند. به دلایل امنیتی، توصیه می شود آن را روی «خاموش» در سرورهای تولیدی تنظیم کنید تا از ارسال خروجی خطا به کاربر نهایی جلوگیری شود، زیرا ممکن است حاوی اطلاعاتی باشد که امنیت برنامه را تهدید می کند.

    open_basedir = <пути к директориям, разделенные точкой с запятой> برای مثال openbasedir="C:\inetpub\wwwroot;C:\inetpub\temp". این دستورالعمل مسیرهای دایرکتوری هایی را مشخص می کند که در آن عملیات PHP مجاز است. سیستم فایل. هر گونه عملیات بر روی فایل ها و دایرکتوری ها خارج از مسیرهای مشخص شده منجر به خطا می شود. این دستورالعمل به ویژه برای جلوگیری از دسترسی به PHP نصب شده در محیط های میزبانی مشترک مفید است تا از دسترسی اسکریپت های PHP به فایل های خارج از دایرکتوری ریشه وب سایت جلوگیری شود.

    upload_max_filesize = ###مو post_max_size = ###م- حداکثر اندازه مجاز فایل آپلود شده و داده ارسالی به ترتیب. اگر برنامه های PHP نیاز به پردازش آپلودهای بزرگ مانند تصاویر یا فایل های ویدئویی داشته باشند، مقادیر این دستورالعمل ها باید افزایش یابد.

بعد از نصب PHPدر سیستم شما، مرحله بعدی انتخاب یک وب سرور و پیکربندی بیشتر برای کار با PHP است. یک وب سرور خاص را در فهرست مطالب برای این مطالب انتخاب کنید.

مایکروسافت IIS 5.1 و IIS 6.0

این بخش حاوی دستورالعمل‌هایی برای راه‌اندازی دستی سرویس‌های اطلاعات اینترنتی (IIS) 5.1 و IIS 6.0 برای کار با PHP در Microsoft Windows XP و Windows Server 2003 است. برای دستورالعمل‌های مربوط به راه‌اندازی IIS 7.0 و نسخه‌های بعدی در Windows Vista، Windows Server 2008، Windows 7 و Windows Server 2008 R2 به مایکروسافت IIS 7.0 و جدیدتر اشاره دارد.

پیکربندی IIS برای پردازش درخواست های PHP

PHP را مطابق با دستورالعمل های توضیح داده شده در مراحل نصب دستی دانلود و نصب کنید

اظهار نظر:

هنگام استفاده از IIS، ساخت غیر ایمن PHP توصیه می شود. ساخت‌های غیر ایمن برای رشته در دسترس هستند

تنظیمات مربوط به CGI و FastCGI را در فایل php.ini مطابق شکل زیر پیکربندی کنید:

مثال شماره 2 تنظیمات CGI و FastCGI در php.ini

فعال کردن پشتیبانی FastCGI در IIS

هنگام نصب IIS، ماژول FastCGI به طور پیش فرض غیرفعال است. روش های فعال کردن آن بسته به نسخه ویندوزی که استفاده می کنید متفاوت است.

برای فعال کردن پشتیبانی FastCGI در ویندوز ویستا SP1 و ویندوز 7:

    در منوی "شروع"، "Run" را انتخاب کنید، در پنجره ظاهر شده، "optionalfeatures.exe" را از صفحه کلید تایپ کنید و روی "Ok" کلیک کنید.

    در پنجره "Windows Components" که باز می شود، پوشه "IIS"، "Internet Services"، "Application Development Components" را گسترش دهید و کادر کنار "CGI" را علامت بزنید.

    روی OK کلیک کنید و منتظر بمانید تا مراحل نصب کامل شود.


برای فعال کردن پشتیبانی FastCGI در Windows Server 2008 و Windows Server 2008 R2:

    در ویندوز، منوی Start را باز کنید، "Run:" را انتخاب کنید، "CompMgmtLauncher" را از صفحه کلید تایپ کنید و روی "Ok" کلیک کنید.

    اگر نقش «Web Server (IIS)» در تب «نقش‌ها» فهرست نشده است، آن را با انتخاب «افزودن نقش‌ها» اضافه کنید.

    اگر نقش "Web Server (IIS)" وجود دارد، "Role Service Selection" را انتخاب کنید و کادر کنار "CGI" را در گروه "Application Development Components" علامت بزنید.


پیکربندی IIS برای رسیدگی به درخواست های PHP

PHP را طبق دستورالعمل های داده شده در توضیحات نصب دانلود و نصب کنید

اظهار نظر:

تنظیمات CGI و FastCGI را در فایل php.ini مطابق شکل زیر تغییر دهید:

مثال شماره 8 تنظیمات CGI و FastCGI در php.ini

fastcgi.impersonate = 1 fastcgi.logging = 0 cgi.fix_pathinfo=1 cgi.force_redirect = 0

با استفاده از رابط مدیریت IIS یا از طریق خط فرمان، یک هندلر IIS برای PHP تنظیم کنید.

استفاده از رابط مدیریت IIS برای ایجاد یک PHP Handler

مراحل زیر به شما این امکان را می دهد که یک کنترلر IIS برای PHP در رابط مدیریت IIS ایجاد کنید:



استفاده از خط فرمان برای ایجاد نگاشت PHP handler

از دستورات زیر برای ایجاد یک مخزن پردازش IIS FastCGI استفاده کنید که از فایل اجرایی php-cgi.exe برای درخواست های PHP استفاده می کند. مقدار پارامتر fullPath را با مسیر مطلق فایل php-cgi.exe جایگزین کنید.

Beispiel #9 ایجاد یک مخزن پردازش FastCGI IIS

%windir%\system32\inetsrv\appcmd تنظیم پیکربندی /section:system.webServer/fastCGI ^ /+

پیکربندی IIS برای رسیدگی به درخواست های خاص PHP از خط فرمان در زیر نشان داده شده است. مقدار پارامتر scriptProcessor را با مسیر مطلق فایل php-cgi.exe جایگزین کنید.

مثال شماره 10 ایجاد نگاشت کنترل کننده درخواست PHP

%windir%\system32\inetsrv\appcmd تنظیم پیکربندی /section:system.webServer/handlers ^ /+

این دستور یک نگاشت کنترل کننده برای IIS برای فایل های *.php ایجاد می کند که نتیجه آن است و توسط ماژول FastCGI پردازش می شود.

اظهار نظر:

این مرحله نصب و پیکربندی را کامل می کند. به دنبال دستورالعملاختیاری هستند اما برای عملکرد و عملکرد بهینه PHP در IIS بسیار توصیه می شود.

ارائه و دسترسی به سیستم فایل

هنگام استفاده از IIS، توصیه می شود نمای FastCGI را در PHP فعال کنید. این توسط دستور fastcgi.impersonate در فایل php.ini کنترل می شود. هنگامی که جعل هویت فعال باشد، PHP همه عملیات را بر روی سیستم فایل تحت حسابی که در هنگام احراز هویت IIS مشخص شده است، انجام می دهد. این تضمین می کند که با توجه به یک فرآیند PHP مشترک برای همه سایت های IIS، اسکریپت های PHP سایت ها تا زمانی که IIS از حساب های مختلف برای هر سایت استفاده می کند، به فایل های یکدیگر دسترسی نخواهند داشت.

به عنوان مثال، در تنظیمات پیش فرض IIS 7، احراز هویت ناشناس تحت استاندارد IUSR کاربر فعال است. این بدان معناست که ضمن دادن مجوز IIS برای اجرای یک اسکریپت PHP، همچنین لازم است به حساب IUSR اجازه خواندن این اسکریپت داده شود. اگر برنامه PHP نیاز به نوشتن در برخی فایل ها یا پوشه ها داشته باشد، باید به حساب IUSR دسترسی نوشتن به آنها داده شود.

برای تعیین اینکه کدام کاربر برای احراز هویت در IIS 7 استفاده می شود، می توانید از دستورات زیر استفاده کنید. نام سایت IIS که با آن کار می کنید جایگزین «وب سایت پیش فرض» کنید. در خروجی، در پیکربندی XML، ویژگی username را ببینید.

مثال شماره 11 تعیین حساب مورد استفاده توسط IIS برای احراز هویت ناشناس

%windir%\system32\inetsrv\appcmd.exe پیکربندی لیست "وب‌سایت پیش‌فرض" ^ /section:anonymousAuthentication

اظهار نظر:

اگر مشخصه userName در عنصر anonymousAuthentication وجود نداشته باشد، یا روی رشته خالی تنظیم شده باشد، هویت مخزن برنامه به عنوان ناشناس برای این وب سایت استفاده می شود.

برای تغییر تنظیمات دسترسی به فایل ها یا پوشه ها، از رابط کاربری در Windows Explorer یا دستور icacls استفاده کنید.

مثال #12 تنظیم مجوزهای فایل

icacls C:\inetpub\wwwroot\upload /grant IUSR:(OI)(CI)(M)

تنظیم index.php به عنوان سند پیش فرض در IIS

به طور پیش فرض، IIS به طور پیش فرض نام سندی برای رسیدگی به درخواست های HTTP ندارد. در برنامه های PHP، سند پیش فرض index.php است. برای افزودن index.php به برگه سند پیش فرض IIS، از دستور زیر استفاده کنید:

Beispiel #13 تنظیم index.php به عنوان سند پیش فرض در IIS

پیکربندی %windir%\system32\inetsrv\appcmd.exe ^ -section:system.webServer/defaultDocument /+"files." ^ /commit:apphost

پیکربندی FastCGI و PHP با ایجاد مجدد فرآیند

پیکربندی تنظیمات IIS FastCGI برای بازیافت فرآیندهای PHP با استفاده از دستورات در زیر آورده شده است. گزینه FastCGI instanceMaxRequests حداکثر تعداد درخواست هایی را تنظیم می کند که می تواند توسط یک فرآیند php-cgi.exe پردازش شود تا زمانی که IIS شروع به غیرفعال کردن آنها کند. متغیر محیطی PHP PHP_FCGI_MAX_REQUESTS تعیین می‌کند که یک فرآیند php-cgi.exe چند درخواست را قبل از شروع حذف آنها بررسی می‌کند. البته، مقدار تنظیم شده برای FastCGI InstanceMaxRequests کمتر یا برابر با PHP_FCGI_MAX_REQUESTS است.

Beispiel #14 راه اندازی FastCGI و بازسازی PHP

تنظیم %windir%\system32\inetsrv\appcmd.exe -section:system.webServer/fastCgi ^ /.instanceMaxRequests:10000 %windir%\system32\inetsrv\appcmd.exe پیکربندی -section:system.webGiServer/fast +".environmentVariables.^"

تنظیم فاصله زمانی FastCGI

در صورتی که یک اسکریپت PHP طولانی مدت وجود داشته باشد، افزایش پارامتر زمان برای FastCGI انجام می شود. دو پارامتر تایم اوت را کنترل می کنند، آنها عبارتند از: activityTimeout و requestTimeout. از دستورات زیر برای تغییر تنظیمات تایم اوت استفاده کنید. البته باید مقدار پارامتر fullPath را با مسیر کامل فایل php-cgi.exe جایگزین کنید.

مثال شماره 15 پیکربندی تنظیمات مهلت زمانی FastCGI

تنظیمات %windir%\system32\inetsrv\appcmd.exe -section:system.webServer/fastCgi ^ /.activityTimeout:"90" /commit:apphost %windir%\system32\inetsrv\appcmd.exe پیکربندی -section:system .webServer/fastCgi ^ /.requestTimeout:"90" /commit:apphost

تغییر موقعیت فایل php.ini

دو راه برای پیکربندی PHP برای کار با Apache 1.3.x در ویندوز وجود دارد. اولین مورد استفاده از باینری CGI (php.exe برای PHP 4 و php-cgi.exe برای PHP 5)، دوم استفاده از Apache Module DLL. در هر دو مورد، برای پیکربندی آپاچی برای کار با PHP و راه اندازی مجدد سرور، باید httpd.conf را ویرایش کنید.

در حال حاضر ماژول SAPI در ویندوز پایدارتر است، بنابراین توصیه می کنیم از آن به جای CGI استفاده کنید زیرا شفاف تر و ایمن تر است.

اگرچه چندین گزینه برای پیکربندی PHP تحت آپاچی وجود دارد، اما برای یک مبتدی بسیار ساده هستند. لطفاً برای دستورالعمل‌های پیکربندی بیشتر به اسناد آپاچی مراجعه کنید.

فراموش نکنید که پس از تغییر فایل پیکربندی، سرور را مجددا راه اندازی کنید. مثلا دستورات نت استاپ آپاچیو ET START APACHE، اگر آپاچی به عنوان یک سرویس ویندوز در حال اجرا باشد یا از میانبرهای معمولی استفاده کند.

اظهار نظر:

نصب PHP به عنوان یک ماژول آپاچی

شما باید خطوط زیر را به فایل Apache httpd.conf اضافه کنید:

مثال #17 PHP به عنوان یک ماژول Apache 1.3.x

این فرض می‌کند که PHP در c:\php نصب شده است. اگر اینطور نیست مسیر را تغییر دهید.

# به انتهای بخش LoadModule اضافه کنید # فراموش نکنید که این فایل را از فهرست ساپی کپی کنید!

# اضافه کردن به انتهای بخش LoadModule LoadModule php5_module "C:/php/php5apache.dll" # اضافه کردن به انتهای بخش AddModule AddModule mod_php5.c

برای هر دو نسخه:

# این خط را به داخل اضافه کنید پرانتز شرطی AddType application/x-httpd-php .php # برای فایل های .phps برجسته شده در نحو، برنامه AddType/x-httpd-php-source .phps را نیز اضافه کنید

نصب به صورت فایل CGI باینری

اگر PHP همانطور که در بخش Manual Installation Steps توضیح داده شد در C:\php\ باز شود، خطوط زیر باید به فایل پیکربندی آپاچی اضافه شوند:

مثال #18 PHP و Apache 1.3.x به عنوان CGI

توجه داشته باشید که خط دوم در لیست بالا قبلاً در httpd.conf است، اما نظر داده شده است. همچنین فراموش نکنید که c:/php/ را با مسیر PHP واقعی خود جایگزین کنید.

توجه

"امنیت CGI"

هنگام نصب PHP به عنوان یک CGI، هیچ گزینه مناسبی برای برجسته سازی نحوی منابع PHP مانند هنگام نصب به عنوان یک ماژول وجود ندارد. اگر می خواهید از آن استفاده کنید، باید از تابع استفاده کنید highlight_file(). برای این کار کافیست یک اسکریپت PHP با کد زیر ایجاد کنید: .

Apache 2.x در مایکروسافت ویندوز

این بخش حاوی دستورالعمل‌هایی برای نصب PHP برای Apache 2.x است سیستم های مایکروسافتپنجره ها.

اظهار نظر: پشتیبانی از آپاچی 2.2

کاربران آپاچی 2.2 باید به این نکته توجه داشته باشند فایل dllبرای Apache 2.2 php5apache2_2.dll نامیده می شود، نه php5apache2.dll، و فقط برای PHP 5.2.0 و بالاتر در دسترس است.

شما قویاً تشویق می‌شوید که «اسناد آپاچی» را بخوانید تا درک اولیه ای از سرور Apache 2.x داشته باشید. همچنین، قبل از خواندن این راهنما، نگاهی به » دستورالعمل های Windows Apache 2.x بیندازید.

Apache 2.x برای اجرا بر روی نسخه های سرور ویندوز مانند Windows NT 4.0، Windows 2000، Windows XP یا Windows 7 طراحی شده است. اگرچه Apache 2.x را می توان در ویندوز 9x استفاده کرد، این پلتفرم ها به طور کامل پشتیبانی نمی شوند و برخی از ویژگی ها کار نخواهد کرد درست است اصلاح این وضعیت برنامه ریزی نشده است.

آخرین نسخه » Apache 2.x و نسخه PHP مناسب را دانلود کنید. راهنمای نصب گام به گام را دنبال کنید و برای ادامه ادغام PHP و Apache برگردید.

سه راه برای نصب PHP برای آپاچی در ویندوز وجود دارد. شما می توانید PHP را به عنوان یک کنترل کننده، به عنوان CGI یا تحت FastCGI اجرا کنید.

اظهار نظر: به یاد داشته باشید که هنگام تعیین مسیرها در فایل‌های پیکربندی آپاچی در ویندوز، تمام اسلش‌های برگشتی، مانند c:\directory\file.ext، باید به اسلش‌های رو به جلو تغییر داده شوند: c:/directory/file.ext. مسیرهای دایرکتوری ممکن است به یک اسلش انتهایی نیز نیاز داشته باشند.

نصب PHP به عنوان یک هندلر تحت آپاچی

برای بارگیری ماژول PHP برای Apache 2.x باید خطوط زیر را به فایل پیکربندی Apache httpd.conf خود اضافه کنید:

مثال شماره 19 PHP به عنوان یک هندلر Apache 2.x

# LoadModule php5_module "c:/php/php5apache2.dll" AddHandler application/x-httpd-php .php # پیکربندی مسیر php.ini PHPIniDir "C:/php"

اظهار نظر: فراموش نکنید که در مثال بالا به جای C:/php/ از مسیر دایرکتوری PHP واقعی استفاده کنید. مراقب باشید که از php5apache2.dll یا php5apache2_2.dll در دستورالعمل LoadModule استفاده کنید و مطمئن شوید که فایل مشخص شده در واقع در مسیری است که در دستورالعمل مشخص کرده اید.

پیکربندی بالا به PHP اجازه می دهد تا هر فایلی را که پسوند php. دارد پردازش کند، حتی اگر پسوندهای دیگری وجود داشته باشد. به عنوان مثال، فایلی با نام example.php.txt توسط موتور PHP اجرا می شود. برای اطمینان از اینکه فقط فایل هایی هستند که هستند پسوند را داشته باشید.php اجرا خواهد شد، از پیکربندی زیر استفاده کنید:

برنامه SetHandler/x-httpd-php

اجرای PHP به صورت CGI

برای درک کامل تر از اجرای CGI تحت آپاچی باید به » مستندات Apache CGI مراجعه کنید.

برای اجرای PHP به‌عنوان CGI، باید فایل‌های php-cgi خود را با استفاده از دستور ScriptAlilas در دایرکتوری تعیین‌شده به عنوان دایرکتوری CGI قرار دهید.

پس از آن، باید خط # را اضافه کنید! در فایل های PHP، به محل فایل اجرایی PHP اشاره می کند.

مثال #20 PHP به عنوان CGI تحت Apache 2.x

#!C:/php/php.exe

توجه

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

اجرای PHP تحت FastCGI

اجرای PHP تحت FastCGI مزایای زیادی نسبت به اجرای آن به عنوان CGI دارد. نصب بسیار ساده است:

راه اندازی NSAPI در سرورهای Sun، iPlanet و Netscape

برای نصب PHP با NSAPI موارد زیر را انجام دهید:

  • php4ts.dll را در systemroot خود (دایرکتوری که ویندوز را در آن نصب کرده اید) کپی کنید.
  • یک ارتباط فایل از خط فرمان ایجاد کنید. دو خط زیر را تایپ کنید:

    assoc .php=PHPScript ftype PHPScript=c:\php\php.exe %1 %*

  • در سرور Netscape Enterprise Administration یک نوع mime جدید ایجاد کنید (دسته: نوع، نوع محتوا: magnus-internal/x-httpd-php، پسوند فایل: php).
  • magnus.conf (برای سرورهای >= 6) یا obj.conf (برای سرورها) را ویرایش کنید< 6) and add the following: You should place the lines after انواع mime init.

    Init fn="load-modules" funcs="php4_init,php4_execute,php4_auth_trans" shlib="c:/php/sapi/php4nsapi.dll" Init fn="php4_init" LateInit="yes" errorString="در راه اندازی اولیه PHP ناموفق بود! "

    (PHP >= 4.3.3) php_iniپارامتر اختیاری است اما با آن می توانید php.ini خود را در فهرست پیکربندی وب سرور خود قرار دهید.

    پیکربندی شی پیش فرض در obj.conf (برای کلاس های سرور مجازی در vserver.obj.conf خود): در section, place this line necessarily after all "ObjectType" and before all "AddLog" lines:

    Service fn="php4_execute" type="magnus-internal/x-httpd-php"

    (PHP >= 4.3.3) As additional parameters you can add some special php.ini -values, for example you can set a docroot="/path/to/docroot" specific to the context php4_execute is called. For boolean ini-keys please use 0/1 as value, not "On","Off",... (this will not work correctly), e.g. zlib.output_compression=1 instead of zlib.output_compression="On"

    This is only needed if you want to configure a directory that only consists of PHP scripts (same like a cgi-bin directory):

    ObjectType fn="force-type" type="magnus-internal/x-httpd-php" Service fn=php4_execute

    پس از آن می توانید یک دایرکتوری را در سرور Administration پیکربندی کنید و به آن سبک اختصاص دهید x-httpd-php. تمام فایل های موجود در آن به صورت PHP اجرا می شوند. مخفی کردن استفاده از PHP با تغییر نام فایل ها به html بسیار خوب است.

  • وب سرویس خود را مجددا راه اندازی کنید و تغییرات را اعمال کنید
  • این کار را برای هر نمونه وب سروری که می خواهید PHP اجرا شود انجام دهید
  • اظهار نظر:

    اندازه پشته ای که PHP استفاده می کند به پیکربندی وب سرور بستگی دارد. اگر با اسکریپت های PHP بسیار بزرگ دچار خرابی می شوید، توصیه می شود آن را با سرور مدیریت (در بخش "MAGNUS EDITOR") بالا ببرید.

    محیط CGI و تغییرات توصیه شده در php.ini

    نکته مهم هنگام نوشتن اسکریپت های PHP این واقعیت است که Sun JSWS/Sun ONE WS/iPlanet/Netscape یک وب سرور چند رشته ای است. به همین دلیل تمام درخواست ها در یک فضای پردازش (فضای خود سرور وب) اجرا می شوند و این فضا فقط یک محیط دارد. اگر می خواهید متغیرهای CGI را دریافت کنید مانند PATH_INFO, HTTP_HOSTو غیره. این روش درستی نیست که این را به روش قدیمی PHP امتحان کنید getenv()یا روشی مشابه (ثبت جهانی به محیط زیست، $_ENV). شما فقط می توانید محیط وب سرور در حال اجرا را بدون هیچ گونه متغیر CGI معتبر دریافت کنید!

    اظهار نظر:

    چرا متغیرهای CGI (نامعتبر) در محیط وجود دارد؟

    پاسخ: این به این دلیل است که شما فرآیند وب سرور را از سرور مدیریت که اسکریپت راه اندازی وب سرور را اجرا می کند، شروع کرده اید، می خواهید به عنوان یک اسکریپت CGI (یک اسکریپت CGI در داخل سرور مدیریت!) شروع کنید. به همین دلیل است که محیط وب سرور راه اندازی شده دارای چند متغیر محیطی CGI در آن است. تو می توانیاین را با راه اندازی وب سرور نه از سرور مدیریت آزمایش کنید. از خط فرمان به عنوان کاربر ریشه استفاده کنید و آن را به صورت دستی شروع کنید - خواهید دید که هیچ متغیر محیطی مشابه CGI وجود ندارد.

    به سادگی اسکریپت های خود را تغییر دهید تا متغیرهای CGI را به روشی صحیح برای PHP 4.x با استفاده از superglobal $_SERVER دریافت کنید. اگر اسکریپت‌های قدیمی‌تری دارید که از $HTTP_HOST و غیره استفاده می‌کنند، باید آن را روشن کنید register_globalsدر php.ini و ترتیب متغیرها را نیز تغییر دهید (مهم: حذف کنید "E"از آن، زیرا شما به محیط اینجا نیاز ندارید):

    variables_order = "GPCS" register_globals = روشن

    استفاده ویژه برای صفحات خطا یا فهرست های دایرکتوری خودساخته (PHP >= 4.3.3)

    برای ایجاد صفحات خطا می توانید از PHP استفاده کنید "404 پیدا نشد"یا مشابه برای هر صفحه خطایی که می خواهید بازنویسی کنید، خط زیر را به شی در obj.conf اضافه کنید:

    خطای fn="php4_execute" code=XXX script="/path/to/script.php"

    جایی که XXXکد خطای HTTP است. لطفا هر مورد دیگری را حذف کنید خطادستورالعمل هایی که می تواند با شما تداخل داشته باشد. اگر می خواهید صفحه ای را برای تمام خطاهایی که ممکن است وجود داشته باشد قرار دهید، صفحه را ترک کنید کدپارامتر خارج شد اسکریپت شما می‌تواند کد وضعیت HTTP را با $_SERVER["ERROR_TYPE"] دریافت کند.

    امکان دیگر ایجاد فهرست های دایرکتوری خودساخته است. فقط یک اسکریپت PHP ایجاد کنید که فهرست دایرکتوری را نمایش دهد و خط سرویس پیش فرض مربوطه را جایگزین کنید type="magnus-internal/directory"در obj.conf با موارد زیر:

    سرویس fn="php4_execute" type="magnus-internal/directory" script="/path/to/script.php"

    برای هر دو صفحه فهرست خطا و فهرست، URI اصلی و URI ترجمه شده در متغیرهای $_SERVER["PATH_INFO"] و $_SERVER["PATH_TRANSLATED"] هستند.

    این لیست نحوه نصب ماژول ISAPI را برای کار با سرور Sambar در ویندوز توضیح می دهد.

      فایلی به نام mappings.ini (در پوشه پیکربندی) در پوشه نصب Sambar پیدا کنید.

      mappings.ini را باز کنید و خط زیر را اضافه کنید :

      مثال شماره 22 پیکربندی ISAPI برای Sambar

      #برای PHP 4 *.php = c:\php\php4isapi.dll #برای PHP 5 *.php = c:\php\php5isapi.dll

      (اگر PHP در c:\php نصب شده باشد.)

      Sambar را مجدداً راه اندازی کنید تا تغییرات اعمال شوند.

    اظهار نظر:

    اگر می خواهید از PHP برای برقراری ارتباط با منابع موجود در رایانه های دیگر در شبکه خود استفاده کنید، باید حسابی را که توسط سرویس سرور Sambar استفاده می شود تغییر دهید. به طور پیش فرض، این LocalSystem است و منابع راه دور در دسترس نخواهند بود. حسابرا می توان با استفاده از گزینه "Services" ابزار مدیریتی از کنترل پنل ویندوز ویرایش کرد.

    Xitami در مایکروسافت ویندوز

    این بخش حاوی نکات و ترفندهای مخصوص » Xitami در پلتفرم ویندوز است.

    این چک لیست نحوه نصب کتابخانه PHP CGI را توضیح می دهد تا با Xitami در ویندوز کار کند.

    اظهار نظر: برای کاربران CGI مهم است

    نصب ماژول های PHP در سیستم عامل ویندوز

    پس از نصب PHP و وب سرور در ویندوز، ممکن است نیاز به نصب چند ماژول برای افزودن عملکرد داشته باشید. شما می توانید با تغییر فایل php.ini خود انتخاب کنید که کدام ماژول ها هنگام راه اندازی PHP بارگذاری شوند. همچنین می توانید با استفاده از تابع، ماژول ها را به صورت پویا در اسکریپت های خود بارگذاری کنید

    آپاچی برای ویندوز XP

    همه چیز در حال حاضر است نسخه های فعلیآپاچی روی Windows 7 SP1، Vista SP2، 8/8.1، 10، Server 2008 SP2/R2 SP1، Server 2012/R2، Server 2016 اجرا می شود.

    بنابراین، در حال حاضر امکان اجرای نسخه های مدرن آپاچی در ویندوز XP وجود ندارد. همچنین آپاچی روی ویندوز سرور 2003 کار نخواهد کرد.

    در ویندوز XP، فقط می توانید Apache 2.2 را اجرا کنید. و شما سیستم ویندوز XP باید Service Pack 3 داشته باشد.

    قبل از ادامه، توصیه می‌کنم به نسخه جدیدتر ارتقا دهید نسخه ویندوز- با شروع از هفت، می توانید هر نسخه مدرن Apache و PHP را نصب کنید. نسخه های قدیمی آپاچی و PHP ممکن است دارای اشکال باشند. اگر قصد استفاده دارید وب سرور محلیبرای یادگیری مدیریت برنامه های کاربردی وب و برنامه نویسی PHP، ویندوز XP بهترین پلتفرم نیست - در اینجا شما با نرم افزار قدیمی قدیمی سروکار خواهید داشت.

    اگر من شما را متقاعد نکرده ام، پس این راهنمای گام به گام را برای اجرای آپاچی در ویندوز XP دنبال کنید.

    ایجاد ساختار وب سرور

    بیایید ساختار دایرکتوری سرور خود را ایجاد کنیم. ایده اصلی جداسازی فایل های اجرایی و فایل های سایت از پایگاه های داده است. این برای نگهداری سرور، از جمله پشتیبان گیری، راحت است.

    در ریشه دیسک ج:\یک دایرکتوری ایجاد کنید سرور. در این دایرکتوری، 2 زیر شاخه ایجاد کنید: صندوقچه(برای فایل های اجرایی) و داده ها.

    به دایرکتوری بروید داده هاو زیر پوشه ها را در آنجا ایجاد کنید D.B.(برای پایگاه های داده) و htdocs(برای وب سایت ها).

    نحوه نصب آپاچی در ویندوز XP

    انتخاب کنید سفارشینصب و راه اندازی:

    پوشه نصب را به C:\Server\bin\Apache2.2\:

    پس از اتمام نصب، http://localhost/ را باز کنید:

    به دایرکتوری بروید C:\Server\bin\Apache2.2\conf\و فایل را باز کنید httpd.confهر ویرایشگر متن

    در آن، ما باید تعدادی از خطوط را جایگزین کنیم.

    #ServerName localhost:80

    نام سرور لوکال هاست: 80

    DocumentRoot "C:/Server/bin/Apache2.2/htdocs"

    DocumentRoot "C:/Server/data/htdocs/"

    DirectoryIndex index.html

    DirectoryIndex index.php index.html index.htm

    # AllowOverride دستورهایی را که ممکن است در فایل‌های htaccess. قرار گیرند را کنترل می‌کند. # می تواند "همه"، "هیچ" یا هر ترکیبی از کلمات کلیدی باشد: # Options FileInfo AuthConfig Limit # AllowOverride None

    # AllowOverride دستورهایی را که ممکن است در فایل‌های htaccess. قرار گیرند را کنترل می‌کند. # می تواند "همه"، "هیچ" یا هر ترکیبی از کلمات کلیدی باشد: # AllowOverride FileInfo AuthConfig Limit # AllowOverride All

    #LoadModule rewrite_module modules/mod_rewrite.so

    LoadModule rewrite_module modules/mod_rewrite.so

    فایل را ذخیره و می بندیم. تمام شد، راه اندازی آپاچی کامل شد! وب سرور را مجددا راه اندازی کنید یا کامپیوتر خود را مجددا راه اندازی کنید تا تغییرات اعمال شوند.

    سایت های خود را در یک پوشه قرار دهید C:\Server\data\htdocs\.

    نحوه نصب PHP در ویندوز XP

    در ویندوز XP با این نسخه از آپاچی فقط PHP 5.4 کار می کند، آخرین نسخه PHP 5.4.9 است، این فایلی است که ما از آرشیو دانلود می کنیم.

    فایل "Microsoft Visual C++ 2008 Redistributable Package (x86)" را برای این نسخه از PHP دانلود و نصب کنید.

    در پوشه C:\Server\bin\پوشه دیگری به نام ایجاد کنید PHP، محتویات فایل دانلود شده را در آن باز کنید php-5.4.9-Win32-VC9-x86.zip.

    در پرونده C:\Server\bin\Apache2.2\conf\httpd.confدر آخر خطوط اضافه کنید

    PHPIniDir "C:/Server/bin/PHP" AddHandler application/x-httpd-php .php LoadModule php5_module "C:/Server/bin/PHP/php5apache2_2.dll"

    اکنون در یک پوشه C:\Server\bin\PHP\فایل را پیدا کنید توسعه php.iniو نام آن را به php.ini.

    این فایل را باز کنید php.iniدر هر ویرایشگر متنی، به دنبال خط بگردید

    ; extension_dir = "ext"

    و آن را جایگزین کنید

    Extension_dir = "C:\Server\bin\PHP\ext\"

    حالا گروه خطوط را پیدا کنید:

    ;extension=php_bz2.dll ;extension=php_curl.dll ;extension=php_fileinfo.dll ;extension=php_gd2.dll ;extension=php_gettext.dll ;extension=php_gmp.dll;extension=php_gmp.dll;extension=php_fileinfo.dll;extension=php_gd2.dll =php_interbase.dll ;extension=php_ldap.dll ;extension=php_mbstring.dll ;extension=php_exif.dll ; باید بعد از mbstring باشد زیرا به آن بستگی دارد ;extension=php_mysql.dll ;extension=php_mysqli.dll ;extension=php_oci8.dll ; استفاده با Oracle 10gR2 Instant Client ;extension=php_oci8_11g.dll ; استفاده با Oracle 11gR2 Instant Client =php_pgsql.dll ;extension=php_pspell.dll ;extension=php_shmop.dll

    و جایگزین آن با:

    پسوند=php_bz2.dll پسوند=php_curl.dll پسوند=php_fileinfo.dll پسوند=php_gd2.dll پسوند=php_gettext.dll ;extension=php_gmp.dll ;extension=php_intl.dll ;extension=php_imapter. extension=php_ldap.dll extension=php_mbstring.dll extension=php_exif.dll ; باید بعد از mbstring باشد زیرا به آن بستگی دارد extension=php_mysql.dll extension=php_mysqli.dll ;extension=php_oci8.dll ; استفاده با Oracle 10gR2 Instant Client ;extension=php_oci8_11g.dll ; استفاده با برنامه افزودنی Oracle 11gR2 Instant Client=php_openssl.dll ;extension=php_pdo_firebird.dll extension=php_pdo_mysql.dll ;extension=php_pdo_oci.dll ;extension=php.pdo_odbc.dll;extension=php.pdo_odbc.dll;extension=php.pdo_odbc.dll;extension=php.pdo_odbc.dll; dll ;extension=php_pspell.dll ;extension=php_shmop.dll

    اکنون خطوط این گروه را لغو نظر کنید:

    ;extension=php_soap.dll ;extension=php_sockets.dll ;extension=php_sqlite3.dll ;extension=php_sybase_ct.dll ;extension=php_tidy.dll ;extension=php_xmlrpc=php_xmlrpc=.pzidlx.dll;

    باید دریافت کند:

    extension=php_soap.dll extension=php_sockets.dll extension=php_sqlite3.dll ;extension=php_sybase_ct.dll ;extension=php_tidy.dll extension=php_xmlrpc.dll extension=php_xsl.dll ;_pextension=php_sybase_ct.dll

    راه اندازی مجدد وب سرور:

    در کاتالوگ C:\Server\data\htdocs\یک فایل با نام ایجاد کنید i.php

    در این فایل کپی کنید:

    فایل دانلود شده را از حالت فشرده خارج کنید C:\Server\data\htdocs\. نام این پوشه (phpMyAdmin-3.5.8.2-all-languages) را به phpmyadmin.

    در کاتالوگ c:\Server\data\htdocs\phpmyadmin\یک فایل ایجاد کنید config.inc.phpو در آنجا کپی کنید:

    اکنون در یک مرورگر وب http://localhost/phpmyadmin/ را باز کنید:

    برای نام کاربری وارد کنید ریشهو رمز عبور را خالی بگذارید.

    نتیجه

    همانطور که می بینید، اگرچه ما نسخه های مناسبی را انتخاب کرده ایم، اما امکان اجرای یک وب سرور کامل بر روی ویندوز XP وجود دارد، حتی اگر با آخرین اجزای نرم افزار نباشد.

    به هر حال، می توانید مونتاژ نهایی ایجاد شده طبق این دستورالعمل را دانلود کنید. شما او را پیدا خواهید کرد.

    این مقاله ارائه می دهد راهنمای گام به گامنصب PHP برای کار با Apache HTTP Server در ویندوز. این روش روی هر دو ویندوز XP و Vista تست شده است. فرض بر این است که شما قبلاً نصب آپاچی را تکمیل کرده اید.

    مراحل پیکربندی PHP 5

    1. پی اچ پی 5 را دانلود کنید

    قبل از شروع، یک کپی از PHP 5 را دانلود کنید صفحات دانلود. بسته امن VC6 را از بخش "Windows Binaries" دانلود کنید - یعنی نصب کننده را دانلود نکنید. به عنوان مثال، بسته ای که علامت گذاری شده است را انتخاب کنید بسته فشرده PHP 5.2.5"، اگر نسخه فعلی 5.2.5 باشد.

    توجه: لطفاً توجه داشته باشید که من رویه زیر را با نسخه‌های PHP 5.3 تست نکرده‌ام، فقط با نسخه 5.2.5 که آخرین نسخه در زمان نوشتن بود، آزمایش نکرده‌ام. در تئوری، برای نصب PHP 7 نیز باید مراحل مشابهی را طی کرد.

    2. PHP 5 را نصب کنید

    یک پوشه PHP روی هارد دیسک خود ایجاد کنید. من c:php را پیشنهاد می کنم، اگرچه می توانید از نام پوشه و مکان متفاوتی استفاده کنید. من شخصا ترجیح می دهم از اسامی با فاصله استفاده نکنم.

    تمام فایل ها را از آرشیو دانلود شده در این پوشه استخراج کنید. برای این کار کافیست روی فایل فشرده دوبار کلیک کنید. و سپس تمام فایل ها را در پوشه c:php بکشید و رها کنید.

    3. برای کسانی که بسته را ارتقا می دهند: فایل قدیمی PHP.INI را از دایرکتوری ویندوز حذف کنید

    اگر از نسخه قدیمی تر به PHP 5 ارتقا می دهید، به دایرکتوری ویندوز تغییر دهید، ( معمولا c: windows) و هر فایل php.ini را که قبلاً در آنجا قرار داده اید حذف کنید.

    4. راه اندازی PHP

    به پوشه c:php رفته و از فایل پیشنهادی php.ini کپی کنید. نام فایل جدید php.ini . اکنون باید یک فایل c:phpphp.in با محتوایی مشابه با c:phpphp.ini-recommended داشته باشید.

    توجه داشته باشید. اگر از Apache 1 استفاده می کنید، باید فایل php.ini را به دایرکتوری ویندوز منتقل کنید ( ج: ویندوز)، یا متغیر محیط PATH خود را طوری تنظیم کنید که c:php را شامل شود. اگر نمی دانید چگونه این کار را انجام دهید، فقط فایل php.ini را به پوشه c:windows منتقل کنید. اگر از Apache 2 استفاده می کنید، نیازی به انجام این کار ندارید، زیرا بعداً دستورالعملی را در فایل پیکربندی Apache 2 با محل فایل php.ini مشخص می کنیم.

    برای نصب PHP روی ویندوز 7 با استفاده از ویرایشگر متن (به عنوان مثال، مانند دفترچه یادداشت، که در بخش "ابزارهای سیستم" در منوی استارت یافت می شود.)؟ فایل php.ini را باز کنید. ممکن است لازم باشد تغییرات زیر را در فایل اعمال کنید:

    الف) از جمله برچسب های بازگشایی کوتاه

    خط زیر را پیدا کنید:

    short_open_tag = خاموش

    اگر short_open_tag روی خاموش تنظیم شده است، برچسب هایی مانند "

    از آنجایی که بسیاری از اسکریپت های شخص ثالث PHP از فرمت استفاده می کنند

    short_open_tag = روشن

    ب) نقل قول های جادویی

    هنگام نصب Apache PHP به صورت پیش‌فرض، داده‌های ورودی به‌طور خودکار با اسلش حذف نمی‌شوند. اگر می خواهید ورودی با پیشوند بک اسلش ("") باشد، به عنوان مثال برای بازتولید تنظیمات میزبانی، به دنبال خط زیر باشید:

    magic_quotes_gpc = خاموش

    و جایگزین آن با:

    magic_quotes_gpc = روشن

    اگر این پارامتر روی هاست تنظیم نشده باشد، انجام این کار توصیه نمی شود. حتی وقتی روی خاموش تنظیم شده باشد، همچنان می توانید استفاده کنید تابع PHP ()برای افزودن اسلش برای قطعات خاصی از داده ها.

    ج) استفاده از متغیرهای سراسری

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

    اگر از چنین اسکریپت هایی استفاده می کنید، باید خط زیر را پیدا کنید:

    register_globals = خاموش

    و آن را به:

    register_globals = روشن

    هشدار: هنگام نصب PHP در ویندوز، این کار را انجام ندهید مگر اینکه اسکریپت های شخص ثالثی داشته باشید که برای کار کردن به آن نیاز دارند. هنگام نوشتن اسکریپت های جدید، بهتر است همیشه فرض کنید که عنصر register_globals روی " تنظیم شده است. خاموش«.

    د) نمایش خطا

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

    برای اینکه پی‌اچ‌پی پیام‌های خطا را مستقیماً در پنجره مرورگر نمایش دهد، به دنبال خط زیر باشید:

    display_errors = خاموش

    و آن را به:

    display_errors = روشن

    این تنظیم باید همیشه در یک سایت زنده روی خاموش تنظیم شود.

    ه) مسیر جلسه

    اگر اسکریپت از جلسات استفاده می کند، به دنبال خط زیر باشید:

    ;session.save_path = "/tmp"

    session.save_path پوشه ای را مشخص می کند که PHP فایل های جلسه را در آن ذخیره می کند. از آنجایی که پوشه /tmp در ویندوز وجود ندارد، باید پوشه دیگری تنظیم شود. یک راه این است که یک پوشه با نام c:tmp بسازید ( همانطور که قبلاً c:php را ایجاد کردیم) و این پوشه را برای این پارامتر مشخص کنید. اگر انجام دادید، این خط را به صورت زیر تغییر دهید:

    session.save_path = "c:tmp"

    توجه داشته باشید که علاوه بر تغییر مسیر، پیشوند نقطه ویرگول (";") را نیز از رشته حذف کردم.

    همچنین می توانید از پوشه TEMP فعلی در رایانه خود استفاده کنید. یا یک پوشه tmp در دایرکتوری PHP ایجاد کنید، مانند c:phptmp و فایل پیکربندی را متناسب با آن تنظیم کنید. ممکن است گزینه های زیادی وجود داشته باشد. اگر نمی توانید تصمیم بگیرید که کدام را انتخاب کنید، فقط c:php ایجاد کنید و همانطور که در بالا گفتم انجام دهید.

    و) سرور SMTP

    هنگام نصب PHP 5 5، اگر اسکریپت از تابع mail() استفاده می کند و می خواهید این تابع با موفقیت نامه به ماشین محلی ارسال کند، به دنبال بخش زیر باشید:

    ; فقط برای Win32. SMTP=localhost smtp_port=25 ; فقط برای Win32. ;sendmail_from= [ایمیل محافظت شده]

    آن را تغییر دهید تا شامل آدرس سرور SMTP و حساب ایمیل شما باشد. به عنوان مثال، اگر شما سرور SMTP mail.example.comو آدرس ایمیل [ایمیل محافظت شده]، کد را به صورت زیر تغییر دهید:

    smtp=mail.example.com smtp_port=25 sendmail_from= [ایمیل محافظت شده]

    توجه داشته باشید که پس از این، زمانی که اسکریپت سعی می کند از تابع mail() استفاده کند، باید به ISP شما متصل شود تا بتواند با موفقیت کار کند. اگر خطوط بالا را تغییر ندهید و سعی کنید از تابع mail() در اسکریپت استفاده کنید، تابع یک کد خرابی را برمی‌گرداند و یک پیام خطا نمایش می‌دهد.

    نحوه تنظیم آپاچی برای PHP 5

    دو راه برای نصب Apache PHP وجود دارد. اول: آن را روی بوت قرار دهید مفسر phpبه عنوان یک ماژول آپاچی دوم: آن را طوری پیکربندی کنید که مفسر را به عنوان یک CGI باینری اجرا کند. شما فقط باید از یکی از آنها استفاده کنید. اگر PHP نیز به عنوان ماژول آپاچی روی هاست نصب شده است، روش ماژول را انتخاب کنید یا اگر روی هاست پیاده سازی شده است از روش CGI استفاده کنید.

    الف) اجرای PHP 5 به عنوان یک ماژول آپاچی

    برای پیکربندی آپاچی برای بارگیری PHP به عنوان تجزیه کننده اسکریپت PHP، از یک ویرایشگر متن ASCII برای باز کردن فایل پیکربندی آپاچی، httpd.conf استفاده کنید.

    اگر از Apache 1.x استفاده می کنید، فایل در پوشه است c: برنامه FilesApache GroupApacheconf. کاربران Apache 2.0.x می توانند آن را در پوشه پیدا کنند ج: برنامه FilesApache GroupApache2confو کاربران Apache 2.2.x در پوشه C: برنامه FilesApache Software FoundationApache2.2conf. معمولاً در پوشه conf دایرکتوری که Apache در آن نصب شده است قرار دارد.

    بخشی از فایل را با عبارات LoadModule پیدا کنید. اعلان‌هایی که قبل از علامت هش "#" قرار می‌گیرند، اظهارنظر شده در نظر گرفته می‌شوند.

    اگر از Apache 1.x استفاده می کنید، خط زیر را بعد از تمام دستورات LoadModule اضافه کنید:

    LoadModule php5_module "c:/php/php5apache.dll"

    اگر از Apache 2.0.x استفاده می کنید، خط زیر را بعد از تمام دستورات LoadModule اضافه کنید:

    LoadModule php5_module "c:/php/php5apache2.dll"

    اگر از Apache 2.2.x استفاده می کنید، خط زیر را اضافه کنید:

    LoadModule php5_module "c:/php/php5apache2_2.dll"

    توجه داشته باشید که این مثال نصب PHP از کاراکتر اسلش جلو ("/") به جای بک اسلش سنتی ویندوز ("") استفاده می کند. این اشتباه تایپی نیست.

    اگر از Apache 1.x استفاده می کنید، مجموعه عبارات "AddModule" را پیدا کنید و بعد از تمام خطوط، موارد زیر را اضافه کنید.

    AddModule mod_php5.c

    سپس بلوک AddType را در فایل پیدا کنید و بعد از آخرین عبارت AddType خط زیر را اضافه کنید. این کار باید صرف نظر از اینکه از کدام نسخه آپاچی استفاده می کنید انجام شود. برای Apache 2.2.x، باید خطوط AddType را در بخش پیدا کنید . درست قبل از بسته شدن یک خط اضافه کنیدبرای این بخش

    اگر برای انواع فایل های دیگر مانند ".phtml" نیاز به پشتیبانی دارید، آنها را به لیست اضافه کنید، مانند:

    برای کسانی که از یکی از نسخه های Apache 2 استفاده می کنند، باید محل فایل ini PHP را مشخص کنید. خط زیر را به انتهای httpd.conf اضافه کنید.

    PHPIniDir "c:/php"

    اگر از دایرکتوری دیگری استفاده کرده اید، باید c:/php را به مسیر صحیح تغییر دهید. فراموش نکنید که از اسلش رو به جلو ("/") استفاده کنید.

    اگر از Apache 1 استفاده می کنید , فایل php.ini را قبلا در پوشه ویندوز یا جایی در PATH قرار داده اید . بنابراین PHP باید آن را به تنهایی پیدا کند.

    اجرای PHP 5 به صورت باینری CGI

    اگر PHP 5 را برای بارگذاری به عنوان یک ماژول آپاچی پیکربندی کرده اید، می توانید از این بخش صرفنظر کنید. این برای کسانی در نظر گرفته شده است که می خواهند PHP را برای اجرا به صورت باینری CGI پیکربندی کنند.

    روال انجام این کار هنگام نصب PHP 7 برای Apache 1.x و تمامی نسخه های سری 2.x یکسان است.

    بخشی از فایل پیکربندی آپاچی که شامل بخش ScriptAlias ​​است را پیدا کنید. خط زیر را درست بعد از خط ScriptAlias ​​برای " اضافه کنید cgi-bin". اگر از Apache 2.2.x استفاده می کنید، مطمئن شوید که خط قبل از بسته شدن قرار داردبرای بخش .

    توجه داشته باشید: اگر PHP را در مکان دیگری نصب کرده اید، مانند c:Program Filesphp، باید مسیر مناسب را به جای تعیین کنید. c:/php/ (به عنوان مثال c:Program Filesphp). فراموش نکنید که ما در اینجا از یک اسلش ساده رو به جلو ("/") به جای بک اسلش ویندوز ("") استفاده می کنیم.

    ScriptAlias ​​/php/ "c:/php/"

    آپاچی باید نوع PHP MIME را پیکربندی کند. بلوک نظرات AddType را که کاربرد آن را توضیح می دهد پیدا کنید و خط زیر را در زیر آن اضافه کنید. برای Apache 2.2.x، به دنبال خطوط AddType در زیر بگردید . درست قبل از بسته شدن خط زیر را اضافه کنیدبرای این بخش

    AddType application/x-httpd-php .php

    مانند نصب PHP به عنوان یک ماژول Apache، هر افزونه ای را می توان اضافه کرد تا Apache آنها را به عنوان اسکریپت های PHP تشخیص دهد، به عنوان مثال:

    AddType application/x-httpd-php .phtml

    سپس باید به سرور بگویید که هر بار که با یک اسکریپت PHP روبرو می شود، فایل اجرایی PHP را اجرا کند. کد زیر را به فایل اضافه کنید، به عنوان مثال، پس از یک بلوک از نظرات توضیح دادن " عمل«.

    اگر از Apache 2.2.x استفاده می کنید، کد را درست بعد از عبارت AddType در بالا اضافه کنید. هیچ بلوک نظری در Apache 2.2.x وجود ندارد. عمل«.

    Action application/x-httpd-php "/php/php-cgi.exe"

    توجه: قسمت "/php/" به عنوان ScriptAlias ​​شناخته می شود، نوعی ماکرو که توسط آپاچی به "c:/php/" گسترش می یابد ( یا "c:/Program Files/php/" اگر PHP را در آنجا نصب کرده اید). به عبارت دیگر مسیر c:/php/php.exe را در این دایرکتیو یا قرار ندهید "c:/Program Files/php/php.exe"، اما از "/php/php-cgi.exe" استفاده کنید.

    اگر از Apache 2.2.x استفاده می کنید، بخش زیر را در فایل httpd.conf خود جستجو کنید:

    خطوط زیر را درست بعد از بخشی که تازه پیدا کردید اضافه کنید.

    AllowOverride None Options None Order اجازه می دهد، اجازه از همه را رد کنید

    ج) تنظیم صفحه فهرست پیش فرض

    این بخش برای نصب PHP در ویندوز به عنوان ماژول آپاچی و باینری CGI کاربرد دارد.

    اگر یک فایل index.php ایجاد می کنید و می خواهید Apache آن را به عنوان صفحه اصلی سایت بارگذاری کند، باید یک خط دیگر به فایل httpd.conf خود اضافه کنید. خطی را پیدا کنید که با "" شروع می شود DirectoryIndex"، و اضافه کنید" index.php» به لیست فایل ها. به عنوان مثال، اگر این کد را داشتید:

    DirectoryIndex index.html

    ما به ساخت یک سرور WAMP محلی بر روی یک ماشین محلی (کامپیوتر شخصی) ادامه می دهیم. در این مقاله، ما مفسر PHP را نصب می‌کنیم که با نام اختصاری WAMP با نام [P] شناخته می‌شود.

    اجازه دهید به شما یادآوری کنم که اسمبلی Apache+MySQL+PHP برای ایجاد یک وب سایت در رایانه شما به عنوان یک سرور محلی مورد نیاز است. این کار برای بسیاری جالب است و اغلب برای کار روی پروژه ها استفاده می شود. خود مونتاژ AMP یک کار پیچیده است که با راه اندازی یک کامپیوتر و سلامت ثابت آن مرتبط است. برای بسیاری، این آسان تر از کار با سرورهای راه دور است، زیرا کمک کامپیوتر همیشه در دسترس است. علاوه بر این، کار با یک سرور محلی رایگان است.

    در مقالات گذشته به شما گفتم چگونه، چگونه. ما در حال ساخت یک سرور محلی با ویندوز 7 هستیم. زمان نصب PHP فرا رسیده است.

    ما PHP را در پوشه php ایجاد شده در درایو سیستم نصب می کنیم: C:\Program Files\PHP.

    از کجا PHP بگیریم

    ما آخرین نسخه php را فقط در وب سایت رسمی دریافت می کنیم، این لینک است: https://php.net/downloads.php. یکی دیگر: https://windows.php.net/download#php-7.0. ما آخرین نسخه php7.0 را نمی گیریم، ما چنین PHP 5.6 (5.6.20) "انقلابی" را نمی گیریم. من یک بیلد برای معماری ویندوز 7 32 بیتی با نصب کننده ویندوز داخلی می گیرم.

    نصب PHP با نصب کننده (MSI)

    آخرین PHP با نصب کننده و مهمتر از همه با ماژول Apache 2.2. این php-5.3.10-nts-Win32-VC9-x86.msi است. ما آن را در اینجا می گیریم: https://windows.php.net/downloads/releases/archives/ و آن را نصب کنید.

    توجه داشته باشید:ما با ماژول Apache 2.2 انتخاب می کنیم، زیرا در حال ساخت WAMP بر روی Apache 2.2 هستیم که قبلاً آن را نصب کرده ایم.

    نصب PHP با استفاده از نصب کننده (MSI) ساده است، در چندین پنجره:

    1. فایل php-5.3.10-nts-Win32-VC9-x86.msi دانلود شده را اجرا کنید.

    اولین پنجره نصب php-5.3.10

    2. با مجوز آشنا می شویم و با آن موافقت می کنیم، با کلیک بر روی دکمه "بعدی" به کار خود ادامه می دهیم.

    3. در این صفحه پوشه ای که PHP را در آن قرار داده ایم را تنظیم کنید. بگذارید این یک دایرکتوری باشد:

    4. در صفحه بعد وب سرور مورد استفاده را انتخاب کنید. در اسمبلی ما، این Apache2 است.

    5. در این صفحه باید ماژول های PHP را که نیاز داریم انتخاب کنید. ما همه چیز را برای بیمه انتخاب می کنیم.

    6. روی "نصب" کلیک کنید


    برای نصب php-5.3.10 روی Install کلیک کنید
    ما روند نصب پنجره php-5.3.10 را مشاهده می کنیم

    همه چيز! نصب PHP بر روی رایانه محلی اکنون کامل شده است.