SMF 2.0.17 suddenly blank (for non connected users)

Started by DSmerdiakov, March 01, 2021, 12:30:19 PM

Previous topic - Next topic

DSmerdiakov

(Hello, and thanks for the work to all contributors.)
(I'm not sure if this is a bug or a problem from our own, sorry if I don't post in the good section.)



Description of the problem :

Suddenly since last night, for no reason that I can figure out, our SMF 2.0.17 forum only displays a completely empty blank page with an HTTP 200 code. But this seems to be the case only for non connected users (me included) ; some users who still had active connnection sesssions report that they are still able to use the forum normally.

As far as I know, nothing has changed in the Php/MySQL/Apache configuration or the forum settings. The forum was working well until last night. A 'show table status' doesn't report any table needing repair (sometimes happens with the smf_sessions table). I have no idea what can have changed between yesterday and today.

I did read this page : https://wiki.simplemachines.org/smf/What_the_white_screen_of_death_means

Adding the following in the beginning of the "index.php" doesn't change anything :

Quoteerror_reporting(E_ALL);
ini_set('display_errors', 1);

If I comment the following a few lines below :

Quote// This makes it so headers can be sent!
//ob_start();

then I do get some non fatal error messages, but I don't think they're the real problem (the still connected users report seeing those messages too during my trials, while still being able to use the forum) :

QuoteDeprecated: Function create_function() is deprecated in /home/lazonek/www/forum/Sources/Load.php on line 178

Deprecated: Function create_function() is deprecated in /home/lazonek/www/forum/Sources/Load.php on line 183

Deprecated: Function create_function() is deprecated in /home/lazonek/www/forum/Sources/Load.php on line 184

Deprecated: Function create_function() is deprecated in /home/lazonek/www/forum/Sources/Load.php on line 220

Deprecated: Function create_function() is deprecated in /home/lazonek/www/forum/Sources/Load.php on line 223

Deprecated: Function create_function() is deprecated in /home/lazonek/www/forum/Sources/Load.php on line 235

Deprecated: Function create_function() is deprecated in /home/lazonek/www/forum/Sources/Load.php on line 250

Deprecated: Function create_function() is deprecated in /home/lazonek/www/forum/Sources/Load.php on line 252

Deprecated: Function create_function() is deprecated in /home/lazonek/www/forum/Sources/Load.php on line 257

Deprecated: Function create_function() is deprecated in /home/lazonek/www/forum/Sources/Load.php on line 268

Deprecated: Function create_function() is deprecated in /home/lazonek/www/forum/Sources/Load.php on line 270

Deprecated: Function create_function() is deprecated in /home/lazonek/www/forum/Sources/Load.php on line 273

Warning: session_set_save_handler(): Cannot change save handler when headers already sent in /home/lazonek/www/forum/Sources/Load.php on line 2441

Warning: session_start(): Cannot start session when headers already sent in /home/lazonek/www/forum/Sources/Load.php on line 2456

Warning: Cannot modify header information - headers already sent by (output started at /home/lazonek/www/forum/Sources/Load.php:178) in /home/lazonek/www/forum/Sources/Load.php on line 2460

Setting $maintenance to 1 or 2 in "Settings.php" has no effect.



Config details :

Forum address : www(DOT)lazone(DOT).org/forum/ (unlikely to be usefull..)

PHP 7.3.27 : www(DOT)lazone(DOT)org/forum/pi448.php (phpinfo)
    (memory_limit   512M   512M)

Server version: 5.6.50-log MySQL Community Server (GPL)


SMF version info at the beggining of 'index.php' :

Quote/**
* Simple Machines Forum (SMF)
*
* @package SMF
* @author Simple Machines
* @copyright 2011 Simple Machines
* @license
*
* @version 2.0.17
*/

/*      This, as you have probably guessed, is the crux on which SMF functions.
        Everything should start here, so all the setup and security is done
        properly.  The most interesting part of this file is the action array in
        the smf_main() function.  It is formatted as so:

                'action-in-url' => array('Source-File.php', 'FunctionToCall'),

        Then, you can access the FunctionToCall() function from Source-File.php
        with the URL index.php?action=action-in-url.  Relatively simple, no?
*/

$forum_version = 'SMF 2.0.17';
@ini_set('memory_limit', '128M');

We have a "zoneCalendar.tar.gz" in the packages directory. This is something someone else than me wrote and installed quite a few years ago, and I never changed anything to it, especially recently, and especially not yesterday. It displays a new message according to the date at the top of the forum.



Good solution ?

If this can't be solved easily and quickly thanks to someone understanding what's happening, I guess the best is to backup everything and try to simply reinstall with the 2.0.18 "large update" package, since we had (and appear still to have) a working 2.0.17 database ?

Kindred

I don't recall if 2.0.17 still had create_function used....


If not, it might be a mod...   however, from the number of errors, it seems unlikely.

first option:   Downgrade your php to 7.2 and then mod-patch up to 2.0.18

second option: Use the large upgrade to update to 2.0.18 and reinstall mods.
Слaва
Украинi

Please do not PM, IM or Email me with support questions.  You will get better and faster responses in the support boards.  Thank you.

"Loki is not evil, although he is certainly not a force for good. Loki is... complicated."

DSmerdiakov

Thank you, I'll try these, although i'm skeptical about the downgrade, since the forum has been running nice with PHP 7.3 for a long time until today.

vbgamer45

2.0.17 still had create_function 2.0.18 removed them.
Community Suite for SMF - Take your forum to the next level built for SMF, Gallery,Store,Classifieds,Downloads,more!

SMFHacks.com -  Paid Modifications for SMF

Mods:
EzPortal - Portal System for SMF
SMF Gallery Pro
SMF Store SMF Classifieds Ad Seller Pro

Kindred

from the sudden appearance of the errors, and the fact that the errors are known to happen in php 7.4 -- I would bet that your host updated the default php interpreter without notifying you.
Слaва
Украинi

Please do not PM, IM or Email me with support questions.  You will get better and faster responses in the support boards.  Thank you.

"Loki is not evil, although he is certainly not a force for good. Loki is... complicated."

Sir Osis of Liver

Some hosts will report incorrect php version.  Run phpinfo to see which version you're actually using.
Ashes and diamonds, foe and friend,
 we were all equal in the end.

                                     - R. Waters

Aleksi "Lex" Kilpinen

HTTP 200 means "OK". I'd really be looking at the server, did something change in the setup on the hosts side, did they change something? Do they perhaps have some session specific caching at work?
Slava
Ukraini!
"Before you allow people access to your forum, especially in an administrative position, you must be aware that that person can seriously damage your forum. Therefore, you should only allow people that you trust, implicitly, to have such access." -Douglas

How you can help SMF

SpacePhoenix

Quote from: Sir Osis of Liver on March 01, 2021, 08:07:59 PM
Some hosts will report incorrect php version.  Run phpinfo to see which version you're actually using.

echo 'Current PHP version: ' . phpversion();

That's probably a better way as it displays just the version of PHP that's in use

DSmerdiakov

My problem seems to be solved, since I had my forum working again late last night, so I'll mark this topic as solved, though I absolutely don't understand why it's working again, not any more than I understand why it had stopped to in the first place. Thanks for the help.



It worked again when I "untared" (tar xvfz ...) in the same subdir the backup of the old dysfunctional installation I had created (tar cvfz ...) before trying to update the forum (and failing, I again don't know why). I absolutely didn't expect it to work and tried it only because all else failed, this looks like witchcraft to me.

It could be that my successfull attempt happened just 24 hours after the problem started (a 24h long change in some server cache config or something like that?).

I had checked phpinfo() first. It said all the time it was running PHP 7.3.27, which I just confirmed as suggested above with :

echo 'Current PHP version: ' . phpversion();
which prints
Current PHP version: 7.3.27

I also had tried to revert back to PHP 7.2 as suggested above, which still left me with a blank screen and HTTP 200.

I won't investigate this deeper as long as the problem doesn't reoccur.

Advertisement: