Returns the short name of the Server API hosting the current PHP process. This guide demonstrates its use in PHP code and explains when the result or side effect needs extra checks.
What It Does
Returns the short name of the Server API hosting the current PHP process.
Syntax and Parameters
The examples below show a real call to php_sapi_name with suitable arguments. Read the function call in context: its connection, handle, input data or other prerequisites are created before use.
Requirements: standard PHP runtime with the named function available.
Example 1: Core Behavior
SAPI detection is for runtime behavior, never an authorization boundary.
<?php
$sapi = php_sapi_name();
echo $sapi === "cli" ? "Command-line PHP" : "Server API: " . $sapi;
Observe the returned value or changed resource state. A successful function call can still require additional checks before a higher-level operation is considered successful.
Example 2: Alternative or Failure Case
SAPI detection is for runtime behavior, never an authorization boundary.
<?php
$sapi = php_sapi_name();
echo str_contains($sapi,"fpm") ? "FastCGI process" : "Not FPM";
Compare the different inputs, environment assumptions or result checks. Do not use a transport-level success value as proof that all business-level requirements were met.
Practical Example: Applying the Rule
SAPI detection is for runtime behavior, never an authorization boundary.
<?php
$sapi = php_sapi_name();
echo in_array($sapi,["cli","phpdbg"],true) ? "Command-line context" : "Web server context";
In an application, convert low-level failures into controlled responses and log only non-sensitive diagnostic context.
Important Behavior and Edge Cases
CLI, FPM and Apache modules have different request behavior; do not trust SAPI as authorization.
Comparison with Related Functions or Patterns
| Approach | When it differs |
|---|---|
| php_sapi_name | Returns the short name of the Server API hosting the current PHP process. |
| Related API or pattern | PHP_SAPI is the corresponding predefined constant. |
Common Beginner Mistakes
| Mistake | Correct approach |
|---|---|
| Using the PHP SAPI string as an authorization decision | CLI, FPM and Apache modules have different request behavior; do not trust SAPI as authorization. |
| Substituting a related API without checking its semantics | PHP_SAPI is the corresponding predefined constant. |
Key Takeaways
- Returns the short name of the Server API hosting the current PHP process.
- CLI, FPM and Apache modules have different request behavior; do not trust SAPI as authorization.
- PHP_SAPI is the corresponding predefined constant.
Select this API or pattern based on its documented behavior and the trust boundaries in your own application, and test all external integrations against their actual deployments.