Content · Programming · PHP

PHP dl() Function: Usage and Examples

Learn how PHP dl works with practical examples, important behavior, relevant alternatives and common mistakes.

1 views Published Oct 16, 2026 Updated Oct 16, 2026

Attempts to load a PHP extension at runtime when dynamic loading is allowed.

What Is dl() in PHP?

Attempts to load a PHP extension at runtime when dynamic loading is allowed.

Its syntax is:

dl(string $extension_filename): bool

Parameters:

  • $extension_filename — Accepted as string; required argument.

Return type: bool. Dynamic loading is commonly disabled in web SAPIs; do not attempt to load arbitrary extension paths from user input.

Availability: Requires enable_dl and a supported PHP SAPI; normally disabled on production websites.

Example 1: Basic Usage

<?php

echo function_exists("dl") ? "Loader exists" : "Unavailable";

Result: Results and availability depend on the current PHP process, system permissions, cache, filesystem or installed locale. Dynamic loading is commonly disabled in web SAPIs; do not attempt to load arbitrary extension paths from user input.

Example 2: A Different Input

<?php

echo ini_get("enable_dl") ? "Dynamic loading enabled" : "Dynamic loading disabled";

Result: Results and availability depend on the current PHP process, system permissions, cache, filesystem or installed locale. Dynamic loading is commonly disabled in web SAPIs; do not attempt to load arbitrary extension paths from user input.

Practical Example: Applying It in a Program

<?php

if (!extension_loaded("intl")) { echo "Install or enable intl in the server configuration rather than loading it per request."; }

Result: Results and availability depend on the current PHP process, system permissions, cache, filesystem or installed locale. Dynamic loading is commonly disabled in web SAPIs; do not attempt to load arbitrary extension paths from user input.

Important Behavior and Edge Cases

  • Key behavior: Dynamic loading is commonly disabled in web SAPIs; do not attempt to load arbitrary extension paths from user input.
  • Environment: Requires enable_dl and a supported PHP SAPI; normally disabled on production websites.

Comparison With Related Functions

FunctionPurpose
dl()Attempts to load a PHP extension at runtime when dynamic loading is allowed.
extension_loaded()extension_loaded() only checks current availability; dl() attempts runtime loading where PHP permits it.

Common Beginner Mistakes

MistakeCorrect Approach
Ignoring this behavior: Dynamic loading is commonly disabled in web SAPIs; do not attempt to load arbitrary extension paths from user inputDynamic loading is commonly disabled in web SAPIs; do not attempt to load arbitrary extension paths from user input.

Key Takeaways

  • Attempts to load a PHP extension at runtime when dynamic loading is allowed.
  • Dynamic loading is commonly disabled in web SAPIs; do not attempt to load arbitrary extension paths from user input.
  • Requires enable_dl and a supported PHP SAPI; normally disabled on production websites.

Summary: Dynamic loading is commonly disabled in web SAPIs; do not attempt to load arbitrary extension paths from user input.

Share this resourceSend this page to someone who may find it useful.