0

Just loaded an empty EE 7.4 install on a server with other EE 7 installs, that is running PHP 8.2.17 and MySQL 8 on IONOS server. Just started setting things up, creating channels etc. and on clicking onto File Manager Tab…

Exception Caught SQLSTATE[42S22]: Column not found: 1054 Unknown column ‘directory’ in ‘where clause’: SELECT DISTINCT file_type FROM (exp_files) WHERE file_type IS NOT NULL AND file_type != “directory”

ee/legacy/database/drivers/mysqli/mysqli_connection.php:146

Meaning that File Manager will not load.

Any ideas?

0

2 Answers 2

0

Just a few basic things to check:

Did you delete the installer directory. Did you change file permissions to or 777.

1
  • You do NOT change file permissions to 777 if you don't know what you're doing. And if you know what you are doing, you don't change permissions to 777. For files 644 is enough and for folders 755. You should not need anything more if your server/vHost is configured like it should be.
    – David Lang
    Commented May 23 at 14:22
0

The exception does tell you everything you need: We are looking for a column named "directory" and couldn't find one.

What it doesn't tell you is why:

EE7 does not have a column called directory in the exp_files table. We also are not looking for a column, we are looking for a value:

enter image description here

The problem here seems to be the quotation marks enclosing the string you are searching for: directory. If we change the quotation marks to 'directory', the query works:

enter image description here

For string literals, single quotation marks are used according to the SQL standard. MySQL/MariaDB accepts "double" or 'single' or even `backticks`.

The Expection you posted has "curly" double quotation marks. They don't belong in a query.

column_name = "value"  // Correct
column_name = “value”   // Incorrect

I can't answer why this is happening though. It seems like a strange encoding issue? Can you test the installation locally with XAMPP or similar?

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.