Blank admin: "Invisible home" body class

I have a second domain that is running phpList with no issue. I have reviewed the php version and extensions, and have matched the settings. Both websites run on the same server and now run the same configuration of PHP 7.3.

  • PHP is set to log errors, but no errors are generated.
  • Google Chrome’s developer tools’ console shows no java script or other errors
  • I’ve tried turning off ModSecurity
  • A clean install of phpList (beside the old install) with a new database exhibits the same issue once logged in

@Vanguard can you view the html source of the “empty” admin page, then copy/paste the final part, just to see whereabouts phplist might be failing. Please use the preformatted text toolbar button </> when pasting the html.

The following is the output of the page from line 97 on:

   		</div>    <!-- end #sidebar -->

    <div class="col-lg-10 col-md-9 col-lg-offset-2 col-md-offset-3" id="content" tabindex=-1>
	    <div id="globalhelp">
	    		    </div>
	    <div id="wrapp">
		    <div id="progressbar"></div>
<!-- content starts here -->
<h4 class="pagetitle">Dashboard</h4><div class="hidden"><a href="./?page=home&amp;tk=926b3069d59783a75b7c3da71052b9fb" title="Go to the dashboard page">Dashboard</a></div><noscript><div class="note d533fc9acf638d1"><a href="./?page=home&amp;action=hidenote&amp;note=d533fc9acf638d1" class="hide ajaxable" title="Close this box">Hide</a><p>phpList will work without Javascript, but it will be easier to use if you switch it on.</p></div></noscript>

@Vanguard Try enabling error reporting just before line 514 of file admin/index.php

if (!$ajax && $page != 'login') {

add this

error_reporting(-1);

I had enable error reporting as per the article: https://www.phplist.org/manual/books/phplist-manual/page/troubleshooting-techniques

Does (-1) do something different than the (1) that is already in the two file locations as per the above documentation?

@Vanguard phplist disables error reporting at some places, so my suggestion was to try to ensure it was enabled as late on as possible. The use of error_reporting(1) looks to be a typo or misunderstanding https://www.php.net/manual/en/errorfunc.constants.php , using -1 should report all errors, warnings etc.

As a side note, if I define a timezone in my config file I get an error line “Error setting timezone in Sql Database”, but this now makes the admin area display and allow the software to work.

@Vanguard ah right, I did wonder about that being the cause but you said that an earlier release of phplist was working so ruled that out. You can install the Timezone plugin to set the php and the mysql timezones.

So that was a shot in the dark.

I have manually installed the Timezone plugin, left the config line for the timezone exposes so that I can view the admin pages (to enable the plugin), enabled the CommonPlugin and TimezonePlugin, and then disabled the config line for the timezone.

The admin section now works! The pages are now visible and appear to work.

2 Likes