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