php(1) Scripting Language php(1)

php - رابط خط فرمان PHP (CLI)

php-cgi - دستور رابط دروازه مشترک PHP (CGI)

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]

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). اگر هیچ پارامتری ارائه نشود، ورودی استاندارد خوانده و اجرا می‌شود.

--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
تولید اطلاعات گسترده برای اشکال‌زدا/پروفایلر (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 استفاده کنید هنگامی که نخستین آرگومان با '-' آغاز می‌شود یا اسکریپت از ورودی استاندارد (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
نمایش نام فایل‌های پیکربندی.

فایل پیکربندی برای نسخهٔ CLI پی‌اچ‌پی.
فایل پیکربندی استاندارد؛ تنها زمانی استفاده می‌شود که php-cli.ini یافت نشود.

این دستور به سادگی متن "Hello World" را در خروجی استاندارد می‌نویسد.
این دستور پیکربندی افزونهٔ gd شما را نمایش می‌دهد. می‌توانید از این برای بررسی آسان قالب‌های تصویری قابل استفاده بهره ببرید. اگر ماژول‌های پویایی دارید، ممکن است بخواهید از همان فایل ini استفاده کنید که php هنگام اجرا از وب‌سرور شما استفاده می‌کند. افزونه‌های بیشتری وجود دارند که چنین تابعی دارند. برای dba از دستور زیر استفاده کنید:
php -r 'print_r(dba_handlers(1));'
این دستور PHP تگ‌های HTML را خط به خط حذف کرده و نتیجه را خروجی می‌دهد. برای مشاهدهٔ نحوهٔ کارکرد آن، می‌توانید نخست به دستور PHP زیر نگاه کنید: ´php -d html_errors=1 -i´ که از PHP برای خروجی دادن اطلاعات پیکربندی در قالب HTML استفاده می‌کند. سپس اگر این دو را ترکیب کنید (´php ...|php ...´) خواهید دید چه رخ می‌دهد.
با استفاده از این دستور PHP می‌توانید تعداد خطوط ورودی را شمارش کنید.
در این مثال، PHP انتظار دارد هر خط ورودی یک نام فایل باشد. تمام خطوط فایل‌های مشخص‌شده توسط هر خط ورودی را می‌شمارد و نتیجهٔ کلی را نمایش می‌دهد. می‌توانید این را با ابزارهایی مانند find ترکیب کرده و قطعه‌کد php را تغییر دهید.
از آنجا که از درون -B ،-R ،-F و -E به STDIN دسترسی دارید، می‌توانید با کد خود از برخی خطوط ورودی صرف‌نظر کنید. اما توجه داشته باشید که در این موارد $argi فقط خطوطی را می‌شمارد که توسط خود php پردازش می‌شوند. با خواندن این نکته متوجه خواهید شد که برنامهٔ بالا چه می‌کند: رد کردن یک‌درمیان خطوط ورودی.

می‌توانید از یک خط شِبانگ (shebang) برای فراخوانی خودکار php از اسکریپت‌ها استفاده کنید. تنها نسخهٔ CLI پی‌اچ‌پی چنین خط نخستینی را نادیده می‌گیرد، همان‌طور که در زیر نشان داده شده است:

#!/bin/php

<?php


// your script

?>

برای توضیحات کم‌وبیش کامل دربارهٔ PHP به این نشانی مراجعه کنید:

https://www.php.net/manual

می‌توانید فهرست باگ‌های شناخته‌شده را مشاهده کرده یا هر باگ جدیدی را که یافتید گزارش دهید در:

https://github.com/php/php-src/issues

گروه 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 با کمک شمار بسیار زیادی از مشارکت‌کنندگان در سراسر جهان توسعه یافته است.

این صفحهٔ راهنما نسخهٔ 8.5.10 از php را شرح می‌دهد.

کپی‌رایت © گروه The PHP Group

این فایل منبع مشمول نسخهٔ 3.01 از مجوز PHP است که همراه با این بسته در فایل LICENSE ارائه شده و از طریق وب در نشانی زیر در دسترس است:

https://www.php.net/license/3_01.txt

اگر نسخه‌ای از مجوز PHP دریافت نکرده‌اید و قادر به دریافت آن از طریق وب نیستید، لطفاً پیامی به license@php.net ارسال کنید تا فوراً نسخه‌ای را برای شما بفرستیم.

2024 The PHP Group