We have seen one other person with this issue and we found that this was because phpxml is not installed on your server. You can tell your host to get this installed. Details are here:
http://stackoverflow.com/questions/10693771/cakephp-class-domdocument-not-found
In the meantime we’re working on an alternative for you and will get an update for it as soon as possible.
Since my webhost will not install phpxml in the name of security, I made a workaround by downloading http://www.facebook.com/translations/FacebookLocales.xml and copying the file the the facebook-comments-plugin folder on my server.
Then I edited the code in class-admin.php starting at line 194:
$blog_url = get_bloginfo('wpurl'); // get blog URL (ex: http://mywebsite.com)
$plugin_url = plugin_dir_url(__FILE__); // get plug-in URL (ex: http://mywebsite.com/wp-content/plugins/facebook-comments-plugin/ )
$plugin_url = str_replace($blog_url, '..', $plugin_url); // strip out blog URL so load command will look for local file
$dom_object->load($plugin_url."FacebookLocales.xml"); // load local file
Another (and IMHO, better) option would to use cURL (which my webhost does allow) for loading external files.
First add the following function:
/*
* curl_get() to perform curl call to get external file and return as string
* Copied from http://php.net/manual/en/function.curl-exec.php#98628
*/
function curl_get($url, array $get = NULL, array $options = array())
{
// added line below to handle http_build_query() warning
if (!empty($get)) $httpbuildquery = http_build_query($get);
$defaults = array(
CURLOPT_URL => $url. (strpos($url, '?') === FALSE ? '?' : ''). $httpbuildquery,
CURLOPT_HEADER => 0,
CURLOPT_RETURNTRANSFER => TRUE,
CURLOPT_TIMEOUT => 4
);
$ch = curl_init();
curl_setopt_array($ch, ($options + $defaults));
if( ! $result = curl_exec($ch))
{
trigger_error(curl_error($ch));
}
curl_close($ch);
return $result;
}
Next change line 198 from
$dom_object->load("http://www.facebook.com/translations/FacebookLocales.xml");
to
$FacebookLocalesXML = curl_get("http://www.facebook.com/translations/FacebookLocales.xml");
$dom_object->loadXML($FacebookLocalesXML);
@jwheck
thanks for 1) solving the issue (I had the same issue)
thanks for 2) coming back here, posting and sharing your (working) solution.
above solution should (obviously) be added to facebook-comments-plugin/class-admin.php
Same issue here, cURL fix worked for me.
Thanks a lot for sharing this @jwheck!