.TH php 1 "2024" "The PHP Group" "Scripting Language" .SH "نام (NAME)" php \- رابط خط فرمان 'CLI' زبان PHP .P php-cgi \- دستور رابط دروازه مشترک 'CGI' زبان PHP .SH "خلاصه دستور (SYNOPSIS)" .B php [گزینه‌ها] [ .B \-f\fP ] .IR file [[\-\-] .IR args.\|.\|. ] .LP .B php [گزینه‌ها] .B \-r .IR code [[\-\-] .IR args.\|.\|. ] .LP .B php [گزینه‌ها] [\-B .IR begin_code ] .B \-R .IR code [\-E .IR end_code ] [[\-\-] .IR args.\|.\|. ] .LP .B php [گزینه‌ها] [\-B .IR begin_code ] .B \-F .IR file [\-E .IR end_code ] [[\-\-] .IR args.\|.\|. ] .LP .B php [گزینه‌ها] \-\- [ .IR args.\|.\|. ] .LP \fBphp \fP[گزینه‌ها] \fB\-a\fP .LP .B php [گزینه‌ها] \-S .IR addr:port [\-t .IR docroot ] .LP .SH "توضیحات (DESCRIPTION)" \fBPHP\fP یک زبان اسکریپت‌نویسی چندمنظوره و پرکاربرد است که به‌ویژه برای توسعه وب مناسب بوده و می‌تواند درون HTML قرار گیرد. این ابزار، رابط خط فرمان است که امکان انجام کارهای زیر را فراهم می‌کند: .P می‌توانید با استفاده از پارامتر \-f به همراه نام .IR file مورد نظر برای اجرا، فایل‌ها را تجزیه و اجرا کنید. .LP با استفاده از پارامتر \-r می‌توانید مستقیماً .IR code پی‌اچ‌پی را اجرا کنید، دقیقاً همانند زمانی که درون یک فایل .B \.php از تابع .B eval() استفاده می‌کنید. .LP همچنین پردازش خط‌به‌خط ورودی استاندارد با استفاده از هر یک از پارامترهای \-R یا \-F امکان‌پذیر است. در این حالت، هر خط ورودیِ جداگانه باعث اجرای .IR code مشخص‌شده با \-R، یا .IR file مشخص‌شده با \-F می‌شود. می‌توانید از طریق \fB$argn\fP به خط ورودی دسترسی داشته باشید. در حین پردازش خطوط ورودی، .B $argi شامل شماره خط فعلی در حال پردازش است. علاوه بر این، پارامترهای \-B و \-E می‌توانند به ترتیب برای اجرای .IR code (به \-r مراجعه کنید) قبل و بعد از پردازش تمام خطوط ورودی استفاده شوند. توجه داشته باشید که ورودی از .B STDIN خوانده می‌شود و بنابراین خواندن صریح از .B STDIN خط ورودی بعدی را تغییر داده یا از خطوط ورودی صرف‌نظر می‌کند. .LP پی‌اچ‌پی همچنین شامل یک وب‌سرور داخلی برای اهداف توسعه برنامه است. با استفاده از گزینه \-S که در آن .B addr:port به یک نشانی و درگاه محلی اشاره دارد، PHP به درخواست‌های HTTP روی آن نشانی و درگاه گوش فرا می‌دهد و فایل‌ها را از دایرکتوری کاری فعلی یا .B docroot ارائه‌شده توسط گزینه \-t ارائه می‌کند. .LP اگر هنگام استفاده از وب‌سرور داخلی، یک فایل PHP در خط فرمان مشخص شود، از آن به عنوان اسکریپت مسیریاب (router script) استفاده خواهد شد. این اسکریپت در هر درخواست HTTP اجرا می‌شود. خروجی اسکریپت به مرورگر بازگردانده می‌شود، مگر اینکه اسکریپت مسیریاب مقدار .B false را برگرداند. در این صورت، سرور داخلی به رفتار پیش‌فرض بازمی‌گردد و منبع درخواست‌شده را همان‌طور که هست، با جستجوی فایل‌ها نسبت به ریشه سند (document root) مشخص‌شده با گزینه \-t (در صورت ارائه) بازمی‌گرداند. .LP اگر هیچ‌یک از گزینه‌های \-r، \-f، \-B، \-R، \-F، \-E یا \-S مشخص نشده باشند اما یک پارامتر منفرد داده شود، آنگاه این پارامتر به عنوان نام فایل جهت تجزیه و اجرا در نظر گرفته می‌شود (مشابه رفتار با \-f). اگر هیچ پارامتری ارائه نشود، ورودی استاندارد خوانده شده و اجرا می‌گردد..SH "گزینه‌ها (OPTIONS)" .TP 15 .PD 0 .B \-\-interactive .TP .PD 1 .B \-a اجرای تعاملی PHP. این گزینه امکان وارد کردن قطعه‌کدهای PHP را برای اجرای مستقیم فراهم می‌کند. هنگامی که پشتیبانی از readline فعال باشد، می‌توانید خطوط را ویرایش کنید و به تاریخچه فرمان‌ها نیز دسترسی داشته باشید. .TP .PD 0 .B \-\-bindpath \fIaddress:port\fP|\fIport\fP .TP .PD 1 .B \-b \fIaddress:port\fP|\fIport\fP مسیر اتصال (Bind Path) برای حالت سرور FASTCGI خارجی (فقط در CGI). .TP .PD 0 .B \-\-no\-chdir .TP .PD 1 .B \-C عدم تغییر مسیر (chdir) به دایرکتوری اسکریپت (فقط در CGI). .TP .PD 0 .B \-\-no\-header .TP .PD 1 .B \-q حالت بی‌صدا (Quiet-mode). جلوگیری از ارسال سرایند‌های HTTP در خروجی (فقط در CGI). .TP .PD 0 .B \-\-timing \fIcount\fP .TP .PD 1 .B \-T \fIcount\fP اندازه‌گیری زمان اجرای اسکریپت با تکرار به تعداد \fIcount\fP بار (فقط در CGI). .TP .PD 0 .B \-\-php\-ini \fIpath\fP|\fIfile\fP .TP .PD 1 .B \-c \fIpath\fP|\fIfile\fP جستجوی فایل .B php.ini در دایرکتوری .IR path یا استفاده از .IR file مشخص‌شده. .TP .PD 0 .B \-\-no\-php\-ini .TP .PD 1 .B \-n هیچ فایل .B php.ini استفاده نخواهد شد. .TP .PD 0 .B \-\-define \fIfoo\fP[=\fIbar\fP] .TP .PD 1 .B \-d \fIfoo\fP[=\fIbar\fP] تعریف مدخل INI با نام .IR foo و مقدار .IR bar .TP .B \-e تولید اطلاعات تکمیلی برای اشکال‌زدا/ارزیاب کارایی (debugger/profiler) .TP .PD 0 .B \-\-file \fIfile\fP .TP .PD 1 .B \-f \fIfile\fP تجزیه و اجرای .IR file .TP .PD 0 .B \-\-help .TP .PD 1 .B \-h نمایش این راهنما .TP .PD 0 .B \-\-hide\-args .TP .PD 1 .B \-H مخفی کردن نام اسکریپت (\fIfile\fP) و پارامترها (\fIargs\.\.\.\fP) از ابزارهای خارجی. برای نمونه ممکن است هنگامی بخواهید از این گزینه استفاده کنید که یک اسکریپت php به عنوان دیمن اجرا می‌شود و خط فرمان حاوی اطلاعات حساسی مانند گذرواژه‌ها است. .TP .PD 0 .B \-\-info .TP .PD 1 .B \-i اطلاعات و پیکربندی PHP .TP .PD 0 .B \-\-syntax\-check .TP .PD 1 .B \-l فقط بررسی نحو (lint) .TP .PD 0 .B \-\-modules .TP .PD 1 .B \-m نمایش ماژول‌های کامپایل‌شده داخلی .TP .PD 0 .B \-\-run \fIcode\fP .TP .PD 1 .B \-r \fIcode\fP اجرای .IR code PHP بدون استفاده از تگ‌های اسکریپت .B '' .TP .PD 0 .B \-\-process\-begin \fIcode\fP .TP .PD 1 .B \-B \fIbegin_code\fP اجرای .IR begin_code PHP پیش از پردازش خطوط ورودی .TP .PD 0 .B \-\-process\-code \fIcode\fP .TP .PD 1 .B \-R \fIcode\fP اجرای .IR code PHP به ازای هر خط ورودی .TP .PD 0 .B \-\-process\-file \fIfile\fP .TP .PD 1 .B \-F \fIfile\fP تجزیه و اجرای .IR file به ازای هر خط ورودی .TP .PD 0 .B \-\-process\-end \fIcode\fP .TP .PD 1 .B \-E \fIend_code\fP اجرای .IR end_code PHP پس از پردازش تمام خطوط ورودی .TP .PD 0 .B \-\-syntax\-highlight .TP .PD 1 .B \-s ارائه کد منبع با تفکیک رنگی نحو به صورت خروجی HTML .TP .PD 0 .B \-\-server \fIaddr:port\fP .TP .PD 1 .B \-S \fIaddr:port\fP راه‌اندازی وب‌سرور داخلی روی آدرس و درگاه محلی مشخص‌شده .TP .PD 0 .B \-\-docroot \fIdocroot\fP.TP .PD 1 .B \-t \fIdocroot\fP تعیین ریشهٔ سند (document root) برای استفاده توسط وب‌سرور توکار .TP .PD 0 .B \-\-version .TP .PD 1 .B \-v شماره نسخه .TP .PD 0 .B \-\-strip .TP .PD 1 .B \-w خروجی دادن کد منبع با حذف توضیحات و فاصله‌های خالی .TP .PD 0 .B \-\-zend\-extension \fIfile\fP .TP .PD 1 .B \-z \fIfile\fP بارگذاری افزونهٔ Zend .IR file .TP .IR args.\|.\|. آرگومان‌های ارسالی به اسکریپت. از .B '\-\-' .IR args زمانی استفاده کنید که نخستین آرگومان با .B '\-' آغاز شود یا اسکریپت از stdin خوانده شود .TP .PD 0 .B \-\-rfunction .IR name .TP .PD 1 .B \-\-rf .IR name نمایش اطلاعات دربارهٔ تابع .B name .TP .PD 0 .B \-\-rclass .IR name .TP .PD 1 .B \-\-rc .IR name نمایش اطلاعات دربارهٔ کلاس .B name .TP .PD 0 .B \-\-rextension .IR name .TP .PD 1 .B \-\-re .IR name نمایش اطلاعات دربارهٔ افزونهٔ .B name .TP .PD 0 .B \-\-rzendextension .IR name .TP .PD 1 .B \-\-rz .IR name نمایش اطلاعات دربارهٔ افزونهٔ Zend .B name .TP .PD 0 .B \-\-rextinfo .IR name .TP .PD 1 .B \-\-ri .IR name نمایش پیکربندی افزونهٔ .B name .TP .B \-\-ini نمایش نام فایل‌های پیکربندی.SH "فایل‌ها (FILES)" .TP 15 .B php\-cli.ini فایل پیکربندی برای نسخهٔ CLI از PHP. .TP .B php.ini فایل پیکربندی استاندارد تنها زمانی استفاده خواهد شد که .B php\-cli.ini یافت نشود. .SH "مثال‌ها (EXAMPLES)" .TP 5 \fIphp \-r 'echo "Hello World\\n";'\fP این دستور به سادگی متن "Hello World" را در خروجی استاندارد می‌نویسد. .TP \fIphp \-r 'print_r(gd_info());'\fP این دستور پیکربندی افزونهٔ gd شما را نشان می‌دهد. می‌توانید از این برای بررسی آسان قالب‌های تصویری قابل استفاده بهره ببرید. اگر هرگونه ماژول پویایی دارید، شاید بخواهید از همان فایل ini استفاده کنید که php هنگام اجرا از وب‌سرور استفاده می‌کند. افزونه‌های دیگری نیز وجود دارند که چنین تابعی دارند. برای dba استفاده کنید از: .RS \fIphp \-r 'print_r(dba_handlers(1));'\fP .RE .TP \fIphp \-R 'echo strip_tags($argn)."\\n";'\fP این دستور PHP تگ‌های HTML را سطر به سطر حذف می‌کند و نتیجه را در خروجی می‌دهد. برای دیدن نحوهٔ کارکرد آن، ابتدا می‌توانید به این دستور PHP نگاه کنید: \'\fIphp \-d html_errors=1 \-i\fP\' که از PHP برای خروجی دادن اطلاعات پیکربندی در قالب HTML استفاده می‌کند. اگر سپس این دو را ترکیب کنید: \'\fIphp \.\.\.|php \.\.\.\fP\' خواهید دید چه رخ می‌دهد. .TP \fIphp \-E 'echo "Lines: $argi\\n";'\fP با استفاده از این دستور PHP می‌توانید خطوط ورودی را شمارش کنید. .TP \fIphp \-R '@$l+=count(file($argn));' \-E 'echo "Lines:$l\\n";'\fP در این مثال PHP انتظار دارد هر خط ورودی یک فایل باشد. این دستور تمام خطوط فایل‌های مشخص‌شده توسط هر خط ورودی را شمارش کرده و نتیجهٔ جمع‌بندی‌شده را نمایش می‌دهد. می‌توانید این را با ابزارهایی مانند find ترکیب کرده و قطعه‌کد php را تغییر دهید. .TP \fIphp \-R 'echo "$argn\\n"; fgets(STDIN);'\fP از آنجا که از درون \-B ،\-R ،\-F و \-E به STDIN دسترسی دارید، می‌توانید خطوط ورودی خاصی را با کد خود رد کنید. اما توجه داشته باشید که در چنین مواردی $argi تنها خطوطی را می‌شمارد که توسط خود php پردازش می‌شوند. با دانستن این نکته حدس خواهید زد که برنامه بالا چه کاری انجام می‌دهد: رد کردن یک‌درمیان خطوط ورودی. .SH "نکات (TIPS)" می‌توانید از یک خط shebang برای اجرای خودکار php از درون اسکریپت‌ها استفاده کنید. تنها نسخه CLI از PHP خط اولی مانند نمونه زیر را نادیده می‌گیرد: .P .PD 0 .RS #!/bin/php .P .RE .PD 1 .P .SH "همچنین ببینید (SEE ALSO)" برای توضیحات کم‌وبیش کامل PHP اینجا را ببینید: .PD 0 .P .B http://www.php.net/manual .PD 1 .P .SH "گزارش باگ‌ها (BUGS)" می‌توانید فهرست باگ‌های شناخته‌شده را مشاهده کنید یا هر باگ جدیدی که یافتید را در اینجا گزارش دهید: .PD 0 .P .B https://github.com/php/php-src/issues .PD 1 .SH "نویسندگان (AUTHORS)" The PHP Group: Thies C. Arntzen, Stig Bakken, Andi Gutmans, Rasmus Lerdorf, Sam Ruby, Sascha Schumann, Zeev Suraski, Jim Winstead, Andrei Zmievski. .P کارهای بیشتر برای CLI sapi توسط Edin Kadribasic، Marcus Boerger و Johannes Schlueter انجام شد. .P فهرستی از توسعه‌دهندگان فعال را می‌توانید در اینجا بیابید: .PD 0 .P .B http://www.php.net/credits.php .PD 1 .P و در نهایت، PHP با کمک خیل عظیمی از مشارکت‌کنندگان در سراسر جهان توسعه یافته است..SH "اطلاعات نسخه (VERSION INFORMATION)" این صفحهٔ راهنما توصیف‌کنندهٔ \fBphp\fP، نسخهٔ 8.3.33 است. .SH "کپی‌رایت و تکثیر (COPYRIGHT)" کپی‌رایت \(co The PHP Group .LP این فایل منبع مشمول نسخهٔ 3.01 از مجوز PHP است که همراه این بسته در فایل LICENSE ارائه شده و از طریق وب جهانی در نشانی اینترنتی زیر در دسترس است: .PD 0 .P .B https://www.php.net/license/3_01.txt .PD 1 .P اگر نسخه‌ای از مجوز PHP دریافت نکرده‌اید و قادر به دریافت آن از طریق وب جهانی نیستید، لطفاً پیامی به .B license@php.net ارسال نمایید تا بلافاصله نسخه‌ای برای شما فرستاده شود.