[SOLVED] Visiting /submissions returns an "Internal server Error 500"

I made a clean OJS 3.1.0 installation, and everything works fine except for /sumbissions that returns a 500 error.

All config.inc.php debug info enabled, so on screen I can read:

Fatal error: Uncaught exception 'PDOException' with message 'could not find driver' in /var/www/html/lib/pkp/lib/vendor/illuminate/database/Illuminate/Database/Connectors/Connector.php:47 Stack trace: #0 /var/www/html/lib/pkp/lib/vendor/illuminate/database/Illuminate/Database/Connectors/Connector.php(47): PDO->__construct('mysql:host=db;d...', 'ojs', 'ojs', Array) #1 /var/www/html/lib/pkp/lib/vendor/illuminate/database/Illuminate/Database/Connectors/MySqlConnector.php(20): Illuminate\Database\Connectors\Connector->createConnection('mysql:host=db;d...', Array, Array) #2 /var/www/html/lib/pkp/lib/vendor/illuminate/database/Illuminate/Database/Connectors/ConnectionFactory.php(59): Illuminate\Database\Connectors\MySqlConnector->connect(Array) #3 /var/www/html/lib/pkp/lib/vendor/illuminate/database/Illuminate/Database/Connectors/ConnectionFactory.php(47): Illuminate\Database\Connectors\ConnectionFactory->createSingleConnection(Array) #4 /var/www/html/lib/pkp/lib/vendor/illuminate/database/Illuminate/Database/DatabaseManager.ph in /var/www/html/lib/pkp/lib/vendor/illuminate/database/Illuminate/Database/Connectors/Connector.php on line 47

PHP log shows exactly the same info.

Code is the one delivered by PKP as official 3.1.0 release.

My stack is:

  • Linux: Debian 3.16.43-2+deb8u5 (2017-09-19) x86_64
  • MySQL: mysqlnd 5.0.11-dev - 20120503
  • Apache: Apache/2.4.10 (Debian)
  • PHP: 5.6.31

I tried with “mysql” and “mysqli” drivers and the result is the same.

Any clue about what is happening?

Cheers,
m.

Hello,

I am having the same problem… After successful clean installation it looks like OJS 3.1.0 is working. Possible to create a journal, modify it, modify profile,… The problem is clicking on Dashboard returns the error above.

My stack is:

  • Windows 10
  • MySQL
  • PHP 5.4

Regards, Primož

Hello,

@primozs, you need to have minimum PHP 5.6 for OJS 3.1.

@marc, it looks like you’re missing the PDO driver. See php - PDOException “could not find driver” - Stack Overflow and http://php.net/manual/en/ref.pdo-mysql.php

Best,
Amanda Stevens
Public Knowledge Project Team

2 Likes

Hi @astevens,

The PDO driver has been missing. After adding it the problem disappeared. Thank you for help and the link.

Regards, Primož

That is great to hear!

You were right. Thanks a lot for the tip.

I was playing with docker and looks like an “apt-get install php-mysql” was not enough. You also need to install the extension with something like “docker-php-ext-install pdo pdo_mysql”

Now this Dockerfile is working for OJS 3.1.0:
https://hub.docker.com/r/marcbria/docker-pkp-ojs/~/dockerfile/

Cheers,
m.

I’m happy to hear that installing the extension solved the problem. :slight_smile:

Best,
Amanda

1 Like

Hi all, it is my first post here!

I did a clean install os the latest version. And I have the same problem, when I go to “submissions”, error 500

My server:

PHP Version 5.6.32
Mysql 4.1.24

My log is this:

[Mon Jan 22 19:24:23 2018] [error] #1 /web/htdocs/www.mysite.com/home/revistas/lib/pkp/lib/vendor/illuminate/database/Illuminate/Database/Connectors/MySqlConnector.php(20): Illuminate\Database\Connectors\Connec in /web/htdocs/www.mysite.com/home/revistas/lib/pkp/lib/vendor/illuminate/database/Illuminate/Database/Connectors/Connector.php on line 47
[Mon Jan 22 19:24:23 2018] [error] #0 /web/htdocs/www.mysite.com/home/revistas/lib/pkp/lib/vendor/illuminate/database/Illuminate/Database/Connectors/Connector.php(47): PDO->__construct(‘mysql:host=62.1…’, ‘ojs’, ‘ojs’, Array)
[Mon Jan 22 19:24:23 2018] [error] PHP Fatal error: Uncaught exception ‘PDOException’ with message ‘SQLSTATE[HY000] [2000] mysqlnd cannot connect to MySQL 4.1+ using the old insecure authentication. Please use an administration tool to reset your password with the command SET PASSWORD = PASSWORD(‘your_existing_password’). This will store a new, and more secure, hash value in mysql.user. If this user is used in other scripts executed by PHP 5.2 or earlier you might need to remove the old-passwords flag from your my.cnf file’ in /web/htdocs/www.mysite.com/home/revistas/lib/pkp/lib/vendor/illuminate/database/Illuminate/Database/Connectors/Connector.php:47
[Mon Jan 22 19:24:23 2018] [error] PHP Strict Standards: Declaration of OpenAIREDAO::setOAI() should be compatible with PKPOAIDAO::setOAI($oai) in /web/htdocs/www.mysite.com/home/revistas/plugins/generic/openAIRE/OpenAIREDAO.inc.php on line 19

How should i solve?

Thanks in advance

Hi @smtp,

The fatal error you have logged here is from MySQL, not OJS:

 [Mon Jan 22 19:24:23 2018] [error] PHP Fatal error: Uncaught exception ‘PDOException’ with message ‘SQLSTATE[HY000] [2000] mysqlnd cannot connect to MySQL 4.1+ using the old insecure authentication. Please use an administration tool to reset your password with the command SET PASSWORD = PASSWORD(‘your_existing_password’). This will store a new, and more secure, hash value in mysql.user. If this user is used in other scripts executed by PHP 5.2 or earlier you might need to remove the old-passwords flag from your my.cnf file’ in /web/htdocs/www.mysite.com/home/revistas/lib/pkp/lib/vendor/illuminate/database/Illuminate/Database/Connectors/Connector.php:47

Follow the instructions in the message to resolve it. I’d suggest searching StackOverflow or similar if you need more information.

Regards,
Alec Smecher
Public Knowledge Project Team