| php(1) | Scripting Language | php(1) |
نام (NAME)
php - رابط خط فرمان PHP (CLI)
php-cgi - دستور رابط دروازه مشترک PHP (CGI)
خلاصه دستور (SYNOPSIS)
php [options] [ -f ] file [[--] args...]
php [options] -r code [[--] args...]
php [options] [-B begin_code] -R code [-E end_code] [[--] args...]
php [options] [-B begin_code] -F file [-E end_code] [[--] args...]
php [options] -- [ args...]
php [options] -a
php [options] -S addr:port [-t docroot]
توضیحات (DESCRIPTION)
PHP یک زبان اسکریپتنویسی همهمنظوره و پرکاربرد است که بهویژه برای توسعهٔ وب مناسب بوده و میتواند درون HTML قرار گیرد. این رابط خط فرمان به شما امکان میدهد کارهای زیر را انجام دهید:
میتوانید فایلها را با استفاده از پارامتر -f به همراه نام file مورد نظر برای تجزیه و اجرا به کار ببرید.
با استفاده از پارامتر -r میتوانید مستقیماً code PHP را اجرا کنید، درست همانگونه که در یک فایل .php با استفاده از تابع eval() انجام میدهید.
همچنین میتوان ورودی استاندارد را خط به خط با استفاده از پارامترهای -R یا -F پردازش کرد. در این حالت، هر خط ورودی مجزا باعث اجرای code مشخصشده توسط -R یا file مشخصشده توسط -F میشود. میتوانید با استفاده از $argn به خط ورودی دسترسی داشته باشید. هنگام پردازش خطوط ورودی، $argi شامل شمارهٔ خط در حال پردازش است. افزون بر این، پارامترهای -B و -E میتوانند به ترتیب برای اجرای code (مشاهدهٔ -r) پیش از شروع پردازش خطوط ورودی و پس از اتمام پردازش همهٔ آنها استفاده شوند. توجه داشته باشید که ورودی از STDIN خوانده میشود و بنابراین خواندن صریح از STDIN خط ورودی بعدی را تغییر میدهد یا از روی خطوط ورودی میپرد.
همچنین PHP شامل یک وبسرور داخلی برای اهداف توسعهٔ برنامهها است. با استفاده از گزینهٔ -S که در آن addr:port به یک نشانی و پورت محلی اشاره دارد، PHP به درخواستهای HTTP روی آن نشانی و پورت گوش میدهد و فایلها را از دایرکتوری کاری جاری یا docroot مشخصشده با گزینهٔ -t ارائه میدهد.
اگر هنگام استفاده از وبسرور داخلی یک فایل PHP در خط فرمان مشخص شود، از آن به عنوان اسکریپت مسیریاب (router script) استفاده خواهد شد. این اسکریپت با هر درخواست HTTP اجرا میشود. خروجی اسکریپت به مرورگر بازگردانده میشود، مگر اینکه اسکریپت مقدار false را برگرداند. در این صورت، وبسرور داخلی به رفتار پیشفرض برمیگردد و منبع درخواستی را همانطور که هست با جستجوی فایلها نسبت به ریشهٔ اسناد (document root) مشخصشده با گزینهٔ -t (در صورت وجود) ارائه میدهد.
اگر هیچیک از گزینههای -r ،-f ،-B ،-R ،-F ،-E یا -S ارائه نشده باشد اما یک پارامتر منفرد داده شود، آن پارامتر به عنوان نام فایل برای تجزیه و اجرا در نظر گرفته میشود (همانند گزینهٔ -f). اگر هیچ پارامتری ارائه نشود، ورودی استاندارد خوانده و اجرا میشود.
گزینهها (OPTIONS)
- --interactive
- -a
- اجرای تعاملی PHP. این حالت امکان ورود قطعهکدهای PHP را که مستقیماً اجرا میشوند فراهم میکند. هنگام فعال بودن پشتیبانی readline، میتوانید خطوط را ویرایش کرده و از تاریخچه نیز بهرهمند شوید.
- --bindpath address:port|port
- -b address:port|port
- مسیر مقیدسازی (Bind Path) برای حالت سرور FASTCGI خارجی (فقط CGI).
- --no-chdir
- -C
- عدم تغییر مسیر به دایرکتوری اسکریپت (فقط CGI).
- --no-header
- -q
- حالت بیصدا. سرکوب خروجی هدرهای 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 به صورت دیمن (daemon) اجرا میشود و خط فرمان شامل دادههای حساس مانند گذرواژهها است، بخواهید از این گزینه استفاده کنید.
- --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
- -t docroot
- مشخص کردن ریشهٔ اسناد (document root) مورد استفاده توسط وبسرور داخلی.
- --version
- -v
- نمایش شمارهٔ نسخه.
- --strip
- -w
- خروجی کد منبع با حذف توضیحات و فاصلههای خالی file
- args...
- آرگومانهای ارسالی به اسکریپت. از '--' args استفاده کنید هنگامی که نخستین آرگومان با '-' آغاز میشود یا اسکریپت از ورودی استاندارد (stdin) خوانده میشود.
- --rfunction
- name
- --rf
- name نمایش اطلاعات دربارهٔ تابع name
- --rclass
- name
- --rc
- name نمایش اطلاعات دربارهٔ کلاس name
- --rextension
- name
- --re
- name نمایش اطلاعات دربارهٔ افزونهٔ name
- --rzendextension
- name
- --rz
- name نمایش اطلاعات دربارهٔ افزونهٔ زِند (Zend extension) به نام name
- --rextinfo
- name
- --ri
- name نمایش پیکربندی افزونهٔ name
- --ini
- نمایش نام فایلهای پیکربندی.
فایلها (FILES)
- php-cli.ini
- فایل پیکربندی برای نسخهٔ CLI پیاچپی.
- 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
// 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.
کارهای تکمیلی برای sapi رابط خط فرمان (CLI) توسط Edin Kadribasic، Marcus Boerger و Johannes Schlueter انجام شده است.
فهرست توسعهدهندگان فعال را میتوانید در اینجا بیابید:
https://www.php.net/credits.php
و در نهایت، PHP با کمک شمار بسیار زیادی از مشارکتکنندگان در سراسر جهان توسعه یافته است.
اطلاعات نسخه (VERSION INFORMATION)
این صفحهٔ راهنما نسخهٔ 8.5.10 از php را شرح میدهد.
حق نشر (COPYRIGHT)
کپیرایت © گروه The PHP Group
این فایل منبع مشمول نسخهٔ 3.01 از مجوز PHP است که همراه با این بسته در فایل LICENSE ارائه شده و از طریق وب در نشانی زیر در دسترس است:
https://www.php.net/license/3_01.txt
اگر نسخهای از مجوز PHP دریافت نکردهاید و قادر به دریافت آن از طریق وب نیستید، لطفاً پیامی به license@php.net ارسال کنید تا فوراً نسخهای را برای شما بفرستیم.
| 2024 | The PHP Group |