Home Miscellaneous SMF Forum Showing Blank Screen / Not Working

SMF Forum Showing Blank Screen / Not Working

by Bella

Problem:

You tried installing Simple Machines Forum software (SMF) either from the source website or using Fantastico, but it shows as a blank page when you try to access it. No issues are seen in the cPanel Error Log and all other configurations appear to be correct.

Solution :

This issue is caused by suhosin security module which blocks the PHP function shell_exec() from being used. However, SMF appears to call this function in the Sources/Subs.php file, around line 3538:

// Try the Linux host command, perhaps?

if (!isset($host) && (strpos(strtolower(PHP_OS), ‘win’) === false || strpos(strtolower(PHP_OS), ‘darwin’) !== false) && mt_rand(0, 1) == 1)

{

if (!isset($modSettings[‘host_to_dis’]))

$test = @shell_exec(‘host -W 1 ‘ . @escapeshellarg($ip));

else

$test = @shell_exec(‘host ‘ . @escapeshellarg($ip));

// Did host say it didn’t find anything?

if (strpos($test, ‘not found’) !== false)

$host = ”;

// Invalid server option?

elseif ((strpos($test, ‘invalid option’) || strpos($test, ‘Invalid query name 1’)) && !isset($modSettings[‘host_to_dis’]))

updateSettings(array(‘host_to_dis’ => 1));

// Maybe it found something, after all?

elseif (preg_match(‘~\s([^\s]+?)\.\s~’, $test, $match) == 1)

$host = $match[1];

}

This code block should be commented out by adding PHP comment tags :

// Try the Linux host command, perhaps?

/* if (!isset($host) && (strpos(strtolower(PHP_OS), ‘win’) === false || strpos(strtolower(PHP_OS), ‘darwin’) !== false) && mt_rand(0, 1) == 1)

{

if (!isset($modSettings[‘host_to_dis’]))

$test = @shell_exec(‘host -W 1 ‘ . @escapeshellarg($ip));

else

$test = @shell_exec(‘host ‘ . @escapeshellarg($ip));

// Did host say it didn’t find anything?

if (strpos($test, ‘not found’) !== false)

$host = ”;

// Invalid server option?

elseif ((strpos($test, ‘invalid option’) || strpos($test, ‘Invalid query name 1’)) && !isset($modSettings[‘host_to_dis’]))

updateSettings(array(‘host_to_dis’ => 1));

// Maybe it found something, after all?

elseif (preg_match(‘~\s([^\s]+?)\.\s~’, $test, $match) == 1)

$host = $match[1];

} */

This will fix the issue and allow SMF to work properly. The function is not necessary for the normal operation of the script, as other means are available to SMF to accomplish the same thing.

 

If you require help, contact SupportPRO Server Admin

Server not running properly? Get A FREE Server Checkup By Expert Server Admins - $125 Value

Leave a Comment

CONTACT US

Sales and Support

Phone: 1-(847) 607-6123
Fax: 1-(847)-620-0626
Sales: sales@supportpro.com
Support: clients@supportpro.com
Skype ID: sales_supportpro

Postal Address

1020 Milwaukee Ave, #245,
Deerfield, IL-60015
USA

©2022  SupportPRO.com. All Rights Reserved