Hello,

it seems that all of the usefulness of the Akamai module stem from the use of the SoapClient class. Its instantiation is placed in a try() statement (akamai.class.inc:77) that is left uncaught if the server does not have the SoapClient class available. This results in a white screen of death (WSOD) whenever a node is saved or edited, and an error similar to the following in the error logs:

 PHP Fatal error:  Class 'SoapClient' not found in /var/www/vhosts/example.com/httpdocs/sites/all/modules/akamai/akamai.class.inc on line 77, referer: http://www.example.com/node/492/edit

However, in my opinion it is way too late to check for the presence of a major dependency at runtime, hence I've created an .install file that implements hook_requirements. It checks for the presence of the SoapClient class (not the soap module since there are alternatives to that), and does not allow the module to be installed unless the class is present.

Note: If you have enabled the module successfully in the past, Drupal will assume that the module still meets the requirements and bypass checking, however an error will be generated in your status log ( admin/reports/status ).

To force Drupal to recheck requirements (testing only!), run the following query:

UPDATE system SET schema_version=-1 WHERE filename LIKE "%akamai/akamai.module"
CommentFileSizeAuthor
akamai-soapclient.patch963 byteshexblot

Comments

febbraro’s picture

Status: Needs review » Fixed

Thanks, that had been on my list forever. It is in both the 6.x-1.2 release and the new 7.x release.

Status: Fixed » Closed (fixed)

Automatically closed -- issue fixed for 2 weeks with no activity.

  • Commit 01bdc91 on 7.x-1.x, 8.x-1.x by febbraro:
    #952058 check for SoapClient dependency
    
    

  • Commit 01bdc91 on 7.x-1.x, 8.x-1.x, 7.x-2.x by febbraro:
    #952058 check for SoapClient dependency
    
    

  • Commit 8bf7e2f on 6.x-1.x, 6.x-2.x by febbraro:
    #952058 check for SoapClient dependency
    
    

  • Commit 01bdc91 on 7.x-1.x, 8.x-1.x, 7.x-2.x, 8.x-2.x by febbraro:
    #952058 check for SoapClient dependency