White Screen Of Death (WSOD) at /manager/setup with OJS 2.3.x

Hi all,

Still dealing with my server migration. :frowning:

Now I’m trying to fix an issue with two old journals (on 2.3.6) that need some theming work before they could be updated. The funny part is that in the same server (over apache 2.2.22 and php 5.4.36), OJS 2.4.6 works perfectly , but those two journals return a WSOD when I visit “/manager/setup” and don’t give any feedback in any log (nor my vhost, nor apache…)

As is suggested by PKP, I enabled debug in config.inc.php as follows:

  • debug = On
  • show_stats = On
  • display_errors = On
  • deprecation_warnings = On

And page is still white as the snow.

Then I modify my folder’s .htacces as follows:

php_flag display_startup_errors on
php_flag display_errors on
php_flag html_errors on
php_flag log_errors on
php_flag ignore_repeated_errors off
php_flag ignore_repeated_source off
php_flag report_memleaks on
php_flag track_errors on
php_value docref_root 0
php_value docref_ext 0
php_value error_log /home/ojs/htaccess/ojs-papirus/php_error.log
php_value error_reporting -1
# Also try with # php_value error_reporting 999999999
php_value log_errors_max_len 0
# ErrorLog /home/ojs/htaccess/ojs-papirus/php_error.log

Nothing happens. :frowning:

Then I modify OJS index.php to be sure those directives proccessed… and again, no luck.

Any suggestion before I start tracing the code in the old fashion print_r way?

Thanks for your time,
m.


PD: A nice guide about how to deal with WSOD in Drupal that could be useful for OxS https://www.drupal.org/node/158043

Changing the shutdown handler is helping, moving form WSOD to a too much verbose page:

BTW, I missed to say that cache is clean (I love “$ mojo cc journalTag”) as well as browser cookies.

And here a couple of PKP references:

Hi Marc,

I’ll bet you’re encountering a newer version of PHP than OJS 2.3.6 can handle. Try running “php -l” on all PHP files, e.g.:

find . -name \*.inc.php -exec php -l "{}" ";" | grep -v "No syntax"

This will lint all PHP files and might find problems that PHP without the -l (lint) option would refuse to parse.

Regards,
Alec Smecher
Public Knowledge Project Team

This is rather old but worth to leave it here for anyone experiencing this issue with an old instance.

Alec’s reply was very helpful and revealed an issue in:

/pages/manager/SetupHandler.inc.php:193: $journal =& $router->getContext(&$request);

line 193 should be changed to $journal =& $router->getContext($request);

1 Like