php(1) Scripting Language php(1)

php - رابط خط فرمان 'CLI' زبان PHP

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

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]

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

#!/bin/php

<?php


// your script

?>

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

http://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.

کارهای بیشتر برای CLI sapi توسط Edin Kadribasic، Marcus Boerger و Johannes Schlueter انجام شد.

فهرستی از توسعه‌دهندگان فعال را می‌توانید در اینجا بیابید:

http://www.php.net/credits.php

و در نهایت، PHP با کمک خیل عظیمی از مشارکت‌کنندگان در سراسر جهان توسعه یافته است..SH "اطلاعات نسخه (VERSION INFORMATION)" این صفحهٔ راهنما توصیف‌کنندهٔ php، نسخهٔ 8.3.33 است.

کپی‌رایت © The PHP Group

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

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

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

2024 The PHP Group