Hardware FixRecommendedDevice not working? Your driver may be the problemCheck updates for common hardware issues.Fix DriversOctober DealsAmazon USOctober deal check: compare before you payAmazon US: current deals, useful picks and tech finds.Check DealsWindows FixRecommendedWindows errors stealing your time? Find the fix fastScan stability, cleanup and performance issues.Fix Now×
Skip to content
VGSources
Blog

php_intl.dll Missing: Rebuild the PHP Extension Safely

Length10 min Posted Quest giverVGSources Team
Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.

php_intl.dll is the Windows PHP extension that provides Internationalization features through PHP’s intl module. If php_intl.dll is missing or will not load, restore the complete PHP installation and its dependencies instead of downloading a replacement DLL.

The file is not part of Windows and should not normally be placed in C:WindowsSystem32 or C:WindowsSysWOW64. It usually belongs in the ext folder inside the PHP installation used by your command line, web server, framework, or bundle such as XAMPP or WAMP.

Fix 1: Identify the PHP installation that is failing

Time needed: 5 minutes

Multiple PHP installations are common on Windows. Your terminal may use one PHP folder while Apache, IIS, Composer, or a development launcher uses another.

Open Command Prompt and run:

where php
php -v
php --ini
php -i | findstr /I "Architecture Thread Safety Compiler extension_dir"
php -m | findstr /I intl

Check the results:

  • where php lists every php.exe found in your PATH.
  • php -v shows the PHP version and build details.
  • php --ini identifies the php.ini currently loaded by CLI PHP.
  • extension_dir should point to the ext folder belonging to that PHP installation.
  • php -m confirms whether intl is loaded.

Then check whether the extension exists. Replace the path with your actual PHP directory:

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.
dir C:pathtophpextphp_intl.dll

If the file is absent, do not copy it from another computer or download site. Continue with the complete-package repair in the next fix.

If the error appears in a website but php -m shows intl, create a temporary PHP information page in the website’s document root:

<?php phpinfo();

Open that page through the affected site and compare its Loaded Configuration File, extension_dir, Architecture, Thread Safety, and PHP version with the Command Prompt results. Delete the page after checking it because phpinfo() exposes configuration details.

Fix 2: Restore the complete matching PHP package

Time needed: 10–20 minutes

A missing, damaged, or mismatched php_intl.dll is most safely repaired by reinstalling or extracting the complete PHP distribution used by the application.

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

Download PHP only from the official PHP Windows distribution selected for your application. Match all of these details:

  • PHP major and minor version
  • x86 or x64 architecture
  • Thread Safe or Non Thread Safe build
  • Compiler generation, such as VS16 or VS17
  • The way PHP is hosted

For typical setups, x64 is recommended on modern Windows installations. Thread Safe PHP is generally used when Apache loads PHP as a module. Non Thread Safe PHP is generally used with IIS FastCGI and command-line PHP.

Do not replace only php_intl.dll. Extract the complete matching package into a new PHP folder, including:

php.exe
php.ini
extphp_intl.dll
ICU dependency DLLs
other PHP runtime files

Copy your required settings from the old php.ini into the new configuration rather than blindly replacing the new file. Then confirm that the new configuration contains one of these entries:

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

Older configurations may use:

extension=php_intl.dll

PHP recommends the extension-name form for PHP 7.2 and later.

For XAMPP, WAMP, Laragon, or another bundled environment, repair or reinstall that bundle’s PHP version. Do not mix php_intl.dll, ICU files, or other extensions from a separate PHP download. The bundle may have its own PHP directory, php.ini, PATH settings, and launcher.

Restart the affected service after replacing the installation:

  • Apache: restart Apache from its control panel or service manager.
  • IIS: restart the site or application pool.
  • A command-line program: close and reopen Command Prompt.
  • A development launcher: exit and reopen the launcher.

Test again:

php -m | findstr /I intl

If the command prints intl, the extension loaded successfully for CLI PHP. If the application still fails, its web-server PHP configuration is different and must be checked with phpinfo().

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

Fix 3: Enable intl in the correct php.ini

Time needed: 5 minutes

The file can be present while the extension remains disabled, or you may have edited an unused configuration file.

Run:

php --ini

Open the path shown after Loaded Configuration File. Search for extension=intl and remove a leading semicolon if present:

extension=intl

Also check the extension directory:

extension_dir="C:pathtophpext"

Use the actual PHP path, and avoid pointing extension_dir at an old installation.

Save the file and restart the relevant application or server. Then run:

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.
php -m | findstr /I intl

For a web application, refresh the phpinfo() page and search for intl. If it is not listed, the server is loading another PHP executable or another php.ini. Check the web server’s PHP configuration and PATH rather than changing more files at random.

Fix 4: Install the matching Visual C++ runtime

Time needed: 5–10 minutes

PHP Windows builds require the Microsoft Visual C++ Redistributable that matches their compiler and architecture. A 64-bit Windows installation does not guarantee that PHP itself is 64-bit.

Use Microsoft’s official Visual C++ Redistributable downloads. PHP builds using current Visual Studio toolchains generally require the Visual C++ 2015–2022 runtime.

Choose the architecture based on PHP:

  • x86 PHP requires the x86 redistributable.
  • x64 PHP requires the x64 redistributable.
  • Install both when the same computer runs separate 32-bit and 64-bit applications.

After installation:

  1. Close PHP, Apache, IIS tools, Composer, and the affected application.
  2. Install or repair the matching redistributable.
  3. Restart Windows if the installer requests it.
  4. Reopen Command Prompt.
  5. Test with:
php -m | findstr /I intl

Installing a newer runtime does not fix an x86/x64 mismatch, a TS/NTS mismatch, or an extension taken from another PHP version. If the warning remains, rebuild the complete PHP installation from one matching package.

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

Fix 5: Restore ICU dependencies and correct PATH problems

Time needed: 10 minutes

php_intl.dll relies on the ICU library. PHP can report that the module could not be found even when php_intl.dll is visibly present because an ICU or other dependent DLL is missing or cannot be found.

Typical messages include:

The specified module could not be found

or:

The program can’t start because icu*.dll is missing

Restore the complete PHP directory from the same package rather than copying arbitrary icu*.dll files from another PHP release. Dependency names and required versions vary between PHP builds.

Check these items:

  1. Confirm php_intl.dll is in the active extension_dir.
  2. Confirm the ICU files supplied with that PHP build are present in the expected PHP directory.
  3. Check that the PHP directory is the one being used by the failing application.
  4. Remove stale PHP directories from PATH or move the intended PHP directory earlier in PATH.
  5. Restart the terminal or web server after changing PATH.

For a bundled Apache installation, use the bundle’s supported repair procedure if its PATH configuration is damaged. Do not add random DLL folders to the Windows system directories.

Fix 6: Check antivirus quarantine

Time needed: 5 minutes

Security software can quarantine a PHP extension after an update, extraction, or false detection.

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

In Windows 11 or Windows 10:

  1. Open Start and search for Windows Security.
  2. Select Virus & threat protection.
  3. Select Protection history.
  4. Look for an event involving the PHP installation.
  5. Confirm the file’s source and the PHP package before taking action.

If the package came from the official PHP distribution and you have verified its origin, restore the file only when you are confident the detection is false. Do not disable antivirus protection broadly. If the source is uncertain, remove the damaged installation and download a fresh complete PHP package from the official source.

After restoring or reinstalling, run:

php -m | findstr /I intl

If the file is quarantined again, leave it removed and investigate the detection rather than repeatedly restoring it.

Fix 7: Repair the application or PHP bundle

Time needed: 10–30 minutes

When PHP is embedded in a vendor application, launcher, game tool, development environment, XAMPP installation, or WAMP installation, the application owns the PHP copy. Its repair function is safer than importing files from a different PHP release.

Use the application’s repair option:

  1. Open Settings.
  2. Select Apps.
  3. Select Installed apps.
  4. Select the affected program.
  5. Open its menu and choose Modify, Repair, or Advanced options, if available.
  6. Follow the repair wizard.
  7. Restart the application and test again.

For a launcher, use its Verify files, Repair, or equivalent command. If repair does not restore PHP, uninstall and reinstall the application from its official installer, preserving project files and configuration backups first.

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.

This is the definitive repair when the program supplies its own PHP runtime. A standalone PHP download may be correct for CLI use but irrelevant to the application’s private PHP directory.

Fix 8: Consider drivers only when Windows has wider failures

Time needed: 10–20 minutes

A PHP extension error is not normally a graphics, chipset, storage, or network driver problem. Driver repair is relevant only when the same Windows installation also has device failures, broken installers, crashes, or system components that cannot update.

Open Device Manager:

  1. Press Win + X.
  2. Select Device Manager.
  3. Expand the affected device category.
  4. Right-click a device with a warning icon.
  5. Select Update driver.
  6. Choose Search automatically for drivers.
  7. Restart Windows if prompted.

For a clean reinstall, right-click the device, choose Uninstall device, select the removal option only when you have a known-good replacement driver, and restart. Prefer the device manufacturer’s official driver package.

Outbyte Driver Updater can reduce the manual work of hunting versions across many devices; its free scan shows what needs attention, while driver installation is handled by the full version. It is not required to repair php_intl.dll, and reinstalling the affected PHP program remains the definitive fix when its bundled runtime is damaged.

What’s actually slowing this PC down?

Pick the symptom - the matching free tool is one click away.

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

Fix 9: Repair Windows components only for broader corruption

Time needed: 15–30 minutes

Because php_intl.dll is an application file, SFC and DISM will not download or replace it. Use them when Windows itself has corrupted system files, installer failures, broken PATH behavior, or several unrelated applications failing.

Open Command Prompt as administrator:

  1. Open Start.
  2. Search for Command Prompt.
  3. Right-click it.
  4. Select Run as administrator.
  5. Run:
DISM.exe /Online /Cleanup-Image /RestoreHealth

When it finishes, run:

sfc /scannow

Restart Windows, then test PHP again.

Manually repeating SFC and DISM while guessing what changed can be tedious. Outbyte PC Repair provides a free scan showing detected issues, while repair is handled by the full version; it is optional, and reinstalling the affected PHP bundle remains the definitive fix for a missing extension.

Independent reader supportYour contribution helps us test, update, and keep practical guides available for everyone.Support on Ko-Fi

Why these errors happen

Symptom or cause Correct response
php_intl.dll is absent Reinstall or re-extract the complete matching PHP package
The file exists but the module cannot be found Restore ICU and other dependencies, then check PATH
intl is not listed by php -m Enable it in the loaded php.ini
x64 PHP uses an x86 extension Replace the mismatched PHP build
TS and NTS builds are mixed Use the build appropriate for Apache, IIS, or CLI
The web server and CLI disagree Compare phpinfo() with php --ini
The file vanished after an update Check antivirus quarantine and repair the bundle
A bundled program fails Use its verify, repair, or reinstall process

Official PHP Windows packages have architecture and build variants, including x86/x64 and Thread Safe/Non Thread Safe. Historical PHP releases also differ in compiler and dependency requirements, so a file that appears to have the right name can still be unusable.

Do not copy php_intl.dll into System32

Random DLL download sites are risky because the file may contain malware, belong to another PHP version, use the wrong architecture, or omit the ICU and runtime files that PHP also needs. Copying it into System32 often hides the real configuration problem and can affect unrelated applications.

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

php_intl.dll is a PHP runtime extension, not a registered Windows COM or ActiveX component. Do not run:

regsvr32 php_intl.dll

regsvr32 is intended for DLLs that provide registration entry points such as DllRegisterServer; registering a PHP extension is normally irrelevant.

Verify the final repair

Run the CLI check:

php -m | findstr /I intl

A successful result prints:

intl

Also verify the active build:

php -v
php --ini
php -i | findstr /I "Architecture Thread Safety Compiler extension_dir"

For websites, confirm intl appears in phpinfo() using the web server’s PHP process. Check the PHP startup log, Apache or IIS error log, and the application log if the warning continues.

If a clean matching PHP package and Visual C++ runtime still fail, inspect the exact dependency named by a DLL-dependency diagnostic tool. There is no single dependency filename that applies to every PHP version and build.

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

FAQ

Is php_intl.dll a Windows system file?

No. It belongs to PHP’s intl extension and normally resides in the PHP installation’s ext directory.

Can I download only php_intl.dll?

You should not. Restore the complete PHP distribution so the extension, ICU libraries, executable, compiler runtime, and configuration match.

Why does PHP say the module is missing when the file exists?

A required ICU library, Visual C++ runtime, or another dependency may be absent. The message does not always mean php_intl.dll itself is missing.

Should I enable intl for Composer, Laravel, Symfony, or WordPress?

If the application requires ext-intl, enable extension=intl in the PHP configuration used by that application, then restart its server or terminal and verify with php -m.

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

Do I need both x86 and x64 Visual C++ packages?

Only when the computer runs applications using both architectures. Install the package matching the PHP process that is failing.

Should I use System Restore?

Only after a known recent system change and after backing up important work. System Restore is not a dependable replacement for reinstalling PHP or repairing a bundled application.

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.

Leave a Reply

Your email address will not be published. Required fields are marked *

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

More quests from Patch Notes

  1. How to Turn On Vibrant Visuals in MinecraftMinecraftBlog3min
  2. Best Multiplayer Games for Low-End PCsBlog4min
  3. Minecraft: How To Use And Install OptiFineBlog5min
Recommended PC Tool
Recommended PC Tool
PC Slower Than It Used to Be?Free scan - under a minute
Outdated Drivers Are Slowing You DownFree scan - exact matches

Two free Windows tools

One Free Minute Could Fix That PC

Before you go - each of these free tools takes about a minute and tackles what quietly slows a Windows PC down.

Special offer. View Outbyte info, uninstall instructions, EULA, and Privacy Policy.