(OJS2->3) Article files inaccesible from OJS3

After a seemingly succesful installation of OJS3, a blank page is shown when trying to access articles either in PDF or HTML.

For instance (OJS3 site): http://wca57008.wcaup.com/ojs/index.php/historiaregional/article/view/261
(OJS2 site): http://historiaregional.org/ojs/index.php/historiaregional/article/view/261

If we try to access the files from within the OJS3 administration panel, an Error 500 screen is reached.

Unfortunately, I don’t have access to the PHP error log right now. I’ve looked at the OJS2 installation we’re migrating from, and found no PDF files nor the expected subdirectories in the files_dir directory (FTP access):


However, from within the OJS2 administration panel (rather than accessing the server through FTP), I can see that these files do exist somewhere (naturally, the OJS2 site works as intended):


Are the documents being stored in the MySQL database in OJS2? I found no references regarding this upon searching. In any case, what should be done to migrate this properly into OJS3?

Thanks in advance.

Hi @CDTux

No, the files are not stored in the mysql database in OJS2. There is a files_dir parameter in the config.inc.php file that points to it. For security reasons, it should normally be outside of your www root directory, so perhaps it did not get moved for your OJS 3 migration?

Also that directory does need to be accessible during your OJS3 migration because the file names are substantially altered during the OJS3 upgrade. If they were not present/available during that process, you’ll need to start again.


The files_dir for the OJS2 installation is the one depicted in the screenshot, minus the /journals/1/articles/ part, actually, which makes it all the more confusing.

Okay, so this directory (or a copy of it) needed to be specified in the config.inc.php for your OJS3 install, before the upgrade process was run.

Hi @CDTux,

Note that the files_dir should be protected from direct access via the web server, or you may be putting yourself at risk of attack. See docs/README under “Recommended Configuration”.

Alec Smecher
Public Knowledge Project Team

What happened here was that the files_dir was created in another directory with a whitespace preceding it (e.g. files_dir = "(whitespace)/foo/bar" in config.inc.php), an error inherited from our original webmaster. It worked, as a matter of fact, however it was invisible and inaccesible to us through FTP. The directory had to be renamed and its path corrected in the config.inc.php file.