Add safeguards for when ext/hash is not compiled with PHP.

Merges [29751] to the 4.0 branch.

fixes #29518.

Built from https://develop.svn.wordpress.org/branches/4.0@29761


git-svn-id: http://core.svn.wordpress.org/branches/4.0@29533 1a063a9b-81f0-0310-95a4-ce76da25c4cd