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

Hi,

Sorry to resurrect this death post but I’m helping in a 2.x to 3.3 migration and I fall with same stone.

Context? Dockerized version of OJS 2.4.5-8 with php 5.6-40.

I checked the code as Alec suggested and looks like OJS 2.4 is not compliant with php 5.6 due a pass-by-reference:

Fatal error: Call-time pass-by-reference has been removed in ./lib/pkp/lib/adodb/drivers/adodb-oracle.inc.php on line 289
Errors parsing ./lib/pkp/lib/adodb/drivers/adodb-oracle.inc.php

The alpine images we use don’t let you install older php so I need to patch the code…

The line that fails is:

return @ora_fetch_into($this->_queryID,&$this->fields,ORA_FETCHINTO_NULLS|ORA_FETCHINTO_ASSOC);

Note: Probably the @ before some functions is the reason why I we got WSOD?

So I remove the reference in “&$this”, but then I need to add a reference in the function call, isn’t it?
But I can’t find the “ora_fetch_into” function definition anywhere (probably because it’s compiled in the mysql driver?).

So, any dirty hack to fix this?

Please, enjoy vacations and don’t answer till (at least) next year. :wink:

Hi @marc

did you mean 2.4.5-8 or 2.4.8-5? If it’s the latter, you can use PHP7 instead of 5.6. We run that combination for a few of our OJS 2.4 holdout clients with no problem.

Best
Jason

1 Like

Can anyone help me : Deprecated: Non-static method PKPApplication::getRequest() should not be called statically
Please help me I need your help.
Thanks

Thanks A LOT Jason,

I started the migration again and this time the error didn’t show up… so it was probably a sudden bout of dyslexia or an absent-mindedness from trying to sort things out while I’m running around with the kids. :wink:

May 2023 be a memorable year for you.

A big hug,
m.

PD: Although Jason’s answer was the solution to my last issue, I’m not checking it to as “solution” because it’s not the answer to the original post. Sorry for the OT… in my brain was kind of related. :blush: