How To Enable SOAP On CentOS When Getting 'Fatal Error: Class 'SoapClient' Not Found'?

Published September 2, 2024

Problem: SOAP Unavailable on CentOS

The 'Fatal Error: Class 'SoapClient' Not Found' message appears when you try to use SOAP on CentOS. This error shows that the SOAP extension is not enabled or installed in the PHP environment.

Steps to Enable SOAP on CentOS

Installing the PHP-SOAP Package

To install the PHP-SOAP package on CentOS, use this command:

yum install php-soap

After running the command, check if the SOAP package is installed:

yum search php-soap

This command shows if the SOAP package is installed on your system.

Tip: Verify SOAP Installation

To confirm that the PHP-SOAP package is correctly installed, you can use the following PHP command:

<?php
if (extension_loaded('soap')) {
    echo "SOAP extension is installed and loaded.";
} else {
    echo "SOAP extension is not installed or not loaded.";
}
?>

Run this script from the command line or through a web server to verify the SOAP installation.

Configuring PHP to Use SOAP

To configure PHP to use SOAP, find the php.ini file. On CentOS, it's usually at:

/etc/php.ini

Open this file with a text editor and add this line to enable the SOAP extension:

extension=soap.so

If you can't find the soap.so file, use this command to locate it:

find -name soap.so

Once you find the path, add it to the php.ini file like this:

extension=/path/to/soap.so

Restarting the Web Server

After changing the PHP configuration, restart the Apache web server. On CentOS, use one of these commands:

service httpd restart

or

apachectl restart

Restarting the web server applies the changes. It lets Apache load the new PHP configuration, including the SOAP extension.

After these steps, check your PHP configuration. Create a PHP file with phpinfo() and view it in a browser. You should see a SOAP section in the output, showing that SOAP is now enabled and ready to use.