Compdigitec Labs

« | Home | »

Possible crash in method_exists() with PHP 5.3

By admin | August 9, 2014

Apparently in some versions of PHP 5.3, calling method_exists() on a class which doesn’t exist seems to cause a crash. The solution, seen here, apparently involves checking class_exists() to prevent a potentially crashing call to method_exists().

This particular bug was causing the administration page of the MathJax-LaTeX WordPress plugin to be blank in the admin interface.

The trick is to replace the two lines in mathjax-latex-admin.php lines 91-92:

$wp_latex_disabled = method_exists('WP_LaTeX','init') ? "disabled='true'" : "";
$wp_latex_disabled_warning = method_exists('WP_LaTeX','init') ? "Disable wp-latex to use this syntax." : "";


$wp_latex_disabled = (class_exists('WP_LaTeX', false) && method_exists('WP_LaTeX','init')) ? "disabled='true'" : "";
$wp_latex_disabled_warning = (class_exists('WP_LaTeX', false) && method_exists('WP_LaTeX','init')) ? "Disable wp-latex to use this syntax." : "";

If you found this article helpful or interesting, please help Compdigitec spread the word. Don’t forget to subscribe to Compdigitec Labs for more useful and interesting articles!

Topics: PHP | No Comments »