Hi @Tom_Hutchison,
PHP 3.1.0 passes our test suite (run on a git-based Travis setup, but I also run this on the proposed release tarball before making it available), including integration tests, so I suspect there are some details on your install that aren’t typical.
There’s quite a bit going on here, so I’ll try to break it into pieces:
-
OJS versions: I’d suggest sticking with OJS 3.1.0, though OJS 3.0.2 has been a usable release for lots of people. If you change between releases, make sure you start with a clean environment.
-
Warnings/strict standards. PHP’s standards have evolved over time and we still have to resolve some of the resulting warnings, but OJS 3.1.0 should already present far fewer warnings than prior releases. Make sure to set your PHP configuration so that errors/warnings are directed to the error log, not the browser – users shouldn’t see these, as you point out, but they’ll also interfere with AJAX subrequests.
-
PHP versions: I’d recommend sticking with one version. PHP 5.6 should work OK but better to go with 7.x. If you have PHP7.1 on your server, I’d recommend using that. Note that you’ll have to use
mysqli
for your database driver, instead ofmysql
, for PHP7+. -
Javascript error
Constructor for object "$.pkp.controllers.tab.settings.managementSettings.UsersAndRolesTabHandler" not found!
: See [SOLVED]OJS upgrade 3.0.2 to 3.1 error Users& Roles Pages. I suspect your template cache contains files from a previous release. Try removing all files fromcache/t_compile
.
Regards,
Alec Smecher
Public Knowledge Project Team