Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.

Run a PHP file from a terminal with php my_script.php. PHP’s command-line interface (CLI) is a distinct SAPI for shell applications, so you can execute PHP without making an HTTP request. You can also run a short expression with -r or feed PHP code through standard input. The PHP manual explains the CLI SAPI and how to identify it.

What PHP CLI is—and how to check which PHP you are running

SAPI means Server Application Programming Interface: it is the way PHP runs in a particular environment. CLI is intended for shell applications. It is distinct from CGI, although the two can share some behavior. The executable name and install location vary, so the php command in your shell may not be the binary you expect.

Start with php -v. Its output identifies whether the invoked binary reports CLI or CGI, along with its version. In a PHP program, check the active SAPI with PHP_SAPI or php_sapi_name(). See the PHP manual’s CLI overview.

Choose how to provide PHP code

Method Example Best for
Run a file php my_script.php Reusable scripts and programs
Run inline code php -r 'echo 2 + 2;' Quick, short expressions
Read from standard input cat script.php | php Shell pipelines that pass PHP code to the interpreter

These are alternative ways to supply code; the PHP manual says they cannot be combined in one invocation. The command-line usage page documents all three.

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.
#1 Best Overall
Elebase USB to USB C Adapter for iPhone 18 Pro Max,USBC Car Charger Adapter
  • Read Before You Buy — No Video Output: These adapters support charging and USB 2.0 data transfer, but cannot transmit video signals. Except for standard USB webcams (which use USB data only), they are not compatible with HDMI/DisplayPort cables, video-capable USB-C hubs, or docking stations with video output.
  • Convert USB-A Ports to USB-C: Designed to connect USB-C earphones, cables, flash drives, card readers, and other USB-C accessories to standard USB-A ports. Plug-and-play with no drivers or software required.
  • Aluminum Alloy Housing: Built with a sturdy aluminum alloy shell that aids in heat dissipation and protects against daily wear and scratches. Designed to maintain a stable and secure connection.
  • Compact & Travel-Friendly: The ultra-compact design allows the adapter to stay plugged into your device without blocking adjacent ports or adding bulk, reducing wear and tear on your original USB ports.
  • 12-Month Warranty: Backed by a 12-month manufacturer warranty for peace of mind. Designed to meet strict quality control standards for reliable everyday performance.

Run a saved file

Save PHP code in a file and execute it with php my_script.php. The filename does not have to end in .php. The equivalent explicit form is php -f my_script.php.

Run a one-off expression

Use -r for code that is too small to save as a file:

Rank #2
Anker USB-C Hub, 5-in-1 USB Hub for Laptops, 4K HDMI Multiport Adapter
  • 5-in-1 USB-C Hub: Experience comprehensive connectivity featuring a Power Delivery input, two USB-A 2.0 ports, a USB-A 3.0 port, and an HDMI port. (Note: The USB-C power delivery input port is only for connecting an external wall charger to power your laptop and cannot power peripheral devices.)
  • 90W Pass-Through Charging: Achieve optimal charging with 90W pass-through power to your laptop, supported by a total input of 100W, with the hub reserving 10W for operational efficiency. (Note: Wall charger not included.)
  • Quick Data Transfers: Accelerate your productivity with rapid data transfers using a high-speed 5Gbps USB 3.0 port and two 480Mbps USB 2.0 ports.
  • 4K HDMI Display: Enhance your visual experience with a hub capable of delivering 4K resolution at 30Hz in both mirror and extend modes. Please note that this hub is compatible with MacBook (macOS 12 and newer), Windows 10 and 11, ChromeOS, and laptops equipped with DP Alt Mode and Power Delivery. Note: This device is not compatible with Linux.
  • What You Get: Anker USB-C Hub (5-in-1, 4K HDMI), welcome guide, 18-month warranty, and our friendly customer service.

php -r 'echo 2 + 2;'

Do not include <?php or ?> tags in code passed to -r; they cause a parse error. Shells may expand variables or interpret quotes before PHP receives the command, so quote inline code appropriately for your shell.

Feed code through a pipeline

PHP can read code from standard input, allowing it to take part in a shell pipeline. For example, cat script.php | php sends the file’s contents to PHP rather than naming it as a script argument.

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.
Rank #3
Sale
Anker USB C Hub, 7in1 Multi-Port USB Adapter, 4K@60Hz USBC to HDMI Splitter
  • Sleek 7-in-1 USB-C Hub: Features an HDMI port, two USB-A 3.0 ports, and a USB-C data port, each providing 5Gbps transfer speeds. It also includes a USB-C PD input port for charging up to 100W and dual SD and TF card slots, all in a compact design.
  • Flawless 4K@60Hz Video with HDMI: Delivers exceptional clarity and smoothness with its 4K@60Hz HDMI port, making it ideal for high-definition presentations and entertainment. (Note: Only the HDMI port supports video projection; the USB-C port is for data transfer only.)
  • Double Up on Efficiency: The two USB-A 3.0 ports and a USB-C port support a fast 5Gbps data rate, significantly boosting your transfer speeds and improving productivity.
  • Fast and Reliable 85W Charging: Offers high-capacity, speedy charging for laptops up to 85W, so you spend less time tethered to an outlet and more time being productive.
  • What You Get: Anker USB-C Hub (7-in-1), welcome guide, 18-month warranty, and our friendly customer service.

Pass arguments to a PHP script

Put script arguments after the script filename. PHP makes them available in $argv; index 0 contains the script name, or a documented placeholder when the code comes from inline execution or standard input.

For example, run php greet.php Ada and read $argv[1] in greet.php to get Ada. If an argument starts with a hyphen, put -- between the script filename and that argument. This tells PHP to stop treating following values as PHP options:

Rank #4
Sale
UGREEN USB to USB C Adapter Combo 4-Pack, 10Gbps USB C Converter Space Gray
  • Dual Converters, Infinite Potential:Includes 2× USB C male to USB A female adapters and 2× USB A male to USB C female adapters. Perfect for a wide range of uses—tablets with Bluetooth keyboards, expand USB ports on macbook, and more. Two different converters for all your daily needs
  • Next-Level 10Gbps & 3A Charging: No more slow 480Mbps, this usb to usb c adapter has a transfer speed of up to 10Gbps, allowing you to do more transferring in less time. This usb adapter fits both USB A and USB C charger, supporting up to 3A fast charging
  • Upgraded Exquisite Craftsmanship: With an aluminum alloy housing and metal connector, the usbc to usb adapter is extremely durable and sturdy. Rigorously tested to withstand more than 10,000 times of plugging and unplugging, ensuring long-lasting performance
  • Broad Compatible: The usb c to usb adapter widely supports all USB C/ USB A devices like laptops, tablets, cellphones, car chargers, and phone chargers. Such as compatible with MacBook Pro/Air 2023/2022, Thunderbolt 4/3 Devices,Apple MagSafe Watch 9/8/7/SE/Ultra, iPad Pro 2022/2021, Samsung Galaxy S23/S20/S10, and iPhone 17/16/15 Pro. Plug and play
  • Please Note: To reach 10Gbps speed, keep the cable under 3.3 ft. For USB A Male to USB C adapters, try flipping the USB C connector. USB C Male to USB A adapters support bidirectional 10Gbps transfer within 3.3 ft

php my_script.php -- -v

Here, -v is passed to the script instead of being interpreted as PHP’s version option. See the PHP manual’s argument and usage documentation.

Use a PHP file like a shell script

On Unix-like systems, a PHP script can start with a shebang such as #!/usr/bin/php to select the interpreter. Make the file executable before invoking it by name. The path must point to the PHP executable on that system. Windows setup differs; a batch file can invoke php.exe. The PHP manual covers command-line scripts and shebangs.

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.
Best Value
Anker USB C Hub, 5-in-1 USBC to HDMI Splitter with 4K Display
  • 5-in-1 Connectivity: Equipped with a 4K HDMI port, a 5 Gbps USB-C data port, two 5 Gbps USB-A ports, and a USB C 100W PD-IN port. Note: The USB C 100W PD-IN port supports only charging and does not support data transfer devices such as headphones or speakers.
  • Powerful Pass-Through Charging: Supports up to 85W pass-through charging so you can power up your laptop while you use the hub. Note: Pass-through charging requires a charger (not included). Note: To achieve full power for iPad, we recommend using a 45W wall charger.
  • Transfer Files in Seconds: Move files to and from your laptop at speeds of up to 5 Gbps via the USB-C and USB-A data ports. Note: The USB C 5Gbps Data port does not support video output.
  • HD Display: Connect to the HDMI port to stream or mirror content to an external monitor in resolutions of up to 4K@30Hz. Note: The USB-C ports do not support video output.
  • What You Get: Anker 332 USB-C Hub (5-in-1), welcome guide, our worry-free 18-month warranty, and friendly customer service.
Independent reader supportYour contribution helps us test, update, and keep practical guides available for everyone.Support on Ko-Fi

Useful PHP command-line options

Run php -h to see the options supported by the PHP binary installed on your machine. Options and behavior can vary by version and build, so local help is the best guide for that executable. The PHP CLI options reference documents commonly used switches:

Option What it does Example
-v Displays PHP version and SAPI information php -v
-l Checks a file’s syntax without executing it php -l my_script.php
-m Lists loaded modules php -m
-i Displays PHP configuration information php -i
-c Selects a configuration path or file php -c /path/to/php.ini my_script.php
-n Skips loading php.ini php -n my_script.php
-d Sets an INI entry for the invocation php -d display_errors=1 my_script.php
-r Runs inline PHP code php -r 'echo 2 + 2;'

A successful -l check only establishes that the file passes PHP’s syntax check. It does not run the program or catch every error that can occur at runtime.

Interactive mode is not available on every installation

php -a starts an interactive shell only when PHP was compiled with readline support. Availability and behavior differ by platform and build; as of PHP 8.1, -a fails when readline is unavailable. Consult the PHP manual’s interactive-shell documentation and your installed binary’s help before relying on a prompt.

Use the built-in web server for local development

Although CLI runs code without an HTTP request, its executable can also start PHP’s built-in web server for local web testing. For example, php -S localhost:8000 serves from the current directory; use -t to specify a document root, as in php -S localhost:8000 -t public. Open http://localhost:8000 in a browser to test the site.

Free tools Windows power users keep installed

One-click scans. No signup required.

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.

The PHP manual describes this server as a tool for development, testing, or demonstrations in controlled environments—not as a full-featured production web server. By default, it runs as a single-threaded process, so a blocked request can stall other requests. Multiple workers for concurrency testing have been available since PHP 7.4.0, but that feature is unsupported on Windows. Do not expose the built-in server as a public production service. See the PHP manual’s built-in web server documentation.

Product prices and availability are accurate as of the date/time indicated and are subject to change. Any price and availability information displayed on Amazon at the time of purchase will apply.