PHP از نسخه ۵.۴ به بعد دارای یک سرور داخلی (Built-in Server) است که به توسعهدهندگان این امکان را میدهد تا بدون نیاز به نرمافزارهای جانبی مانند XAMPP یا WAMP، یک سرور محلی (Local Server) برای اجرای کدهای PHP راهاندازی کنند.
این قابلیت به ویژه برای تست و توسعه پروژههای PHP بسیار مفید است. در این راهنما، نحوه راهاندازی و استفاده از این سرور داخلی را بهصورت گامبهگام توضیح خواهیم داد.
۱. پیشنیازهای اجرای سرور داخلی PHP
- نصب PHP روی سیستم: ابتدا باید بررسی کنید که PHP روی سیستم شما نصب شده است. برای این کار:
۱. ترمینال (CMD یا PowerShell در ویندوز) یا ترمینال لینوکس/مک را باز کنید.
۲. دستور زیر را اجرا کنید:
۳. اگر نسخه PHP نمایش داده شد، یعنی PHP روی سیستم شما نصب است. در غیر این صورت، باید آن را نصب کنید.php -v
۲. اجرای سرور داخلی PHP
پس از اطمینان از نصب PHP، میتوانید سرور داخلی را اجرا کنید.
روش اجرا:
۱. به مسیر پوشهای که پروژه PHP شما در آن قرار دارد بروید. مثلاً اگر پروژه شما در مسیر C:\xampp\htdocs\myproject
قرار دارد، در CMD این مسیر را باز کنید:
cd C:\xampp\htdocs\myproject
در لینوکس یا مک، مسیر پروژه را با cd مشخص کنید:
cd /var/www/html/myproject
۲. حالا برای اجرای سرور، دستور زیر را تایپ کنید:
php -S localhost:8000
این دستور یک سرور محلی روی پورت ۸۰۰۰ اجرا میکند. میتوانید عدد ۸۰۰۰ را به هر پورتی که بخواهید تغییر دهید.
۳. پس از اجرای دستور، اگر همه چیز درست باشد، خروجی مشابه زیر را خواهید دید:
PHP 8.2.0 Development Server (http://localhost:8000) started
- اکنون میتوانید در مرورگر خود آدرس زیر را باز کنید تا پروژه PHP خود را ببینید:
http://localhost:8000
۳. اجرای سرور روی IP خاص یا پورت دیگر
اگر بخواهید سرور را روی یک IP خاص اجرا کنید (مثلاً 0.0.0.0 برای دسترسی از شبکه داخلی)، از دستور زیر استفاده کنید:
php -S 0.0.0.0:8000
این کار به شما امکان میدهد که از سایر دستگاههای متصل به همان شبکه نیز به سرور دسترسی داشته باشید.
اجرای سرور روی پورت دیگر (مثلاً 8080):
php -S localhost:8080
۴. مشخص کردن پوشه خاص برای اجرا
گاهی اوقات ممکن است بخواهید یک پوشه مشخص را بهعنوان ریشه سرور معرفی کنید. برای این کار میتوانید مسیر پروژه را به همراه -t
مشخص کنید:
php -S localhost:8000 -t public
این دستور پوشه public را بهعنوان مسیر اصلی (Document Root) سرور تنظیم میکند.
۵. استفاده از یک فایل Route برای هدایت درخواستها
اگر پروژه شما از rewrite rules یا router استفاده میکند (مانند Laravel یا پروژههای SPA)، میتوانید از یک فایل router استفاده کنید. بهعنوان مثال، برای اجرای پروژهای که دارای index.php بهعنوان نقطه ورود است، میتوان از این دستور استفاده کرد:
php -S localhost:8000 router.php
محتوای router.php میتواند چیزی مانند زیر باشد:
<?php
if (file_exists(__DIR__ . $_SERVER["REQUEST_URI"])) {
return false;
} else {
include "index.php";
}
?>
این اسکریپت بررسی میکند که اگر فایل در مسیر درخواستشده وجود دارد، مستقیماً آن را نمایش دهد، در غیر این صورت index.php را اجرا کند.
۶. متوقف کردن سرور داخلی PHP
برای متوقف کردن سرور داخلی، کافی است در CMD یا ترمینال کلید Ctrl + C را فشار دهید. این کار باعث میشود اجرای سرور متوقف شود.
جمعبندی
سرور داخلی PHP Built-in Server یک ابزار قدرتمند و سبک برای توسعه و تست پروژههای PHP است که نیاز به نرمافزارهای اضافی مانند XAMPP یا WAMP ندارد. با اجرای تنها یک دستور ساده در ترمینال، میتوانید سرور محلی خود را راهاندازی کرده و کدهای PHP را اجرا کنید. این روش بهویژه برای پروژههای کوچک و آزمایشی بسیار کاربردی است.