Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Uncaught PDOException: SQLSTATE[42S02]: Base table or view not found #3069

Open
llgdd opened this issue Apr 16, 2022 · 0 comments
Open

Uncaught PDOException: SQLSTATE[42S02]: Base table or view not found #3069

llgdd opened this issue Apr 16, 2022 · 0 comments

Comments

@llgdd
Copy link

llgdd commented Apr 16, 2022

While trying to do this:

I’m trying to install Known 1.2.2 (downloaded from https://withknown.marcus-povey.co.uk/known-1.2.2.tgz) on my Debian 5.10.46-3 VPS using Apache/2.4.53 (Debian), PHP 7.4.28 (cli), mysql 8.0.27 for Linux on x86_64 (MySQL Community Server - GPL).
I installed all the needed PHP components (successful installation verified by Known’s CLI Installer), enabled the usage of htaccess, applied the Mod_Rewrite tweak, secured my MySQL installation applying all the recommended changes but one (I refused to disable remote access), created a new MySQL user called known and a new database called knowndb. These are the privileges I’ve given to my known MySQL user:

+-------------------------------------------------------------+
| Grants for known@localhost                                  |
+-------------------------------------------------------------+
| GRANT USAGE ON *.* TO `known`@`localhost` WITH GRANT OPTION |
| GRANT ALL PRIVILEGES ON `knowndb`.* TO `known`@`localhost`  |
+-------------------------------------------------------------+

I then added my credentials to /var/www/html/known/configuration/config.ini (part of the password is edited out):

database = "MySQL"
dbname = "knowndb"
dbhost = "localhost"
dbuser = "known"
dbpass = "Known******_MySQL"

When I ran /var/www/html/known/warmup/CLI/CLIInstaller.php install it said ”Known is already installed.“

I encountered this error:

Now when I go to http://xx.xxx.xx.xxx/known/ (my VPS’s IP), I’m greeted by this page:
vivaldi_n3KXQGULoX
Here’s the full message:

Known experienced a problem with this page and couldn't continue.

Uncaught PDOException: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'knowndb.config' doesn't exist in /var/www/html/known/Idno/Data/MySQL.php:369

The technical details are as follows:

Fatal Error: /var/www/html/known/Idno/Data/MySQL.php:369 - "Uncaught PDOException: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'knowndb.config' doesn't exist in /var/www/html/known/Idno/Data/MySQL.php:369
Stack trace:
#0 /var/www/html/known/Idno/Data/MySQL.php(369): PDOStatement->execute()
#1 /var/www/html/known/Idno/Core/Config.php(103): Idno\Data\MySQL->getAnyRecord()
#2 /var/www/html/known/Idno/Core/Idno.php(111): Idno\Core\Config->load()
#3 /var/www/html/known/Idno/Common/Component.php(18): Idno\Core\Idno->init()
#4 /var/www/html/known/Idno/Core/Idno.php(45): Idno\Common\Component->__construct()
#5 /var/www/html/known/Idno/start.php(126): Idno\Core\Idno->__construct()
#6 /var/www/html/known/index.php(30): require_once('/var/www/html/k...')
#7 {main}
  thrown", on page xx.xxx.xx.xxx/known/

Some other notes:

I checked #563 which looks like the only issue with my error, but didn’t find any solution to my problem...

Also my /var/www/html/known/.htaccess is intact:

## BEGIN Known Webserver Config (don't remove)

<IfModule mod_rewrite.c>
    RewriteEngine on
    #RewriteBase /

    RewriteRule ^\.git(|hub)/ - [F]

    RewriteCond %{HTTP:Authorization} ^(.+)$
    RewriteRule .* - [E=HTTP_AUTHORIZATION:%{HTTP:Authorization}]

    RewriteCond %{ENV:BASE} ^$
    RewriteCond $1::%{REQUEST_URI} ^(.*)::(.*?)\1$
    RewriteRule ^(.*)$ - [ENV=BASE:%2]

    RewriteRule ^js/canary\.js$ %{ENV:BASE}/js/known.min.js [L]

    # The query string cache trick doesn't really work, so use rewrite rules instead
    RewriteRule ^js/[0-9]+/(.*)$ %{ENV:BASE}/js/$1 [L]
    RewriteRule ^css/[0-9]+/(.*)$ %{ENV:BASE}/css/$1 [L]

    RewriteCond %{REQUEST_FILENAME} !-f
    RewriteCond %{REQUEST_FILENAME} !-d
    RewriteRule ^(.*)$ %{ENV:BASE}/index.php?/$1 [L,QSA]
    RewriteRule ^Uploads.* - [F]
</IfModule>
<Files  ~ "\.dist$">
  Order allow,deny
  Deny from all
</Files>
<Files ~ "composer\.lock">
  Order allow,deny
  Deny from all
</Files>
<Files ~ "composer\.json">
  Order allow,deny
  Deny from all
</Files>
<Files ~ "package\.json">
  Order allow,deny
  Deny from all
</Files>
<Files ~ "Gruntfile\.js">
  Order allow,deny
  Deny from all
</Files>
<Files ~ "known\.php">
  Order allow,deny
  Deny from all
</Files>
<Files  ~ "\.known">
  Order allow,deny
  Deny from all
</Files>
<Files  ~ "\.ini$">
  Order allow,deny
  Deny from all
</Files>
<Files ~ "\.yml$">
  Order allow,deny
  Deny from all
</Files>
<Files ~ "\.xml$">
  Order allow,deny
  Deny from all
</Files>
<Files ~ "\.bak$">
  Order allow,deny
  Deny from all
</Files>
<Files ~ "sitemap\.xml">
  Order allow,deny
  Allow from all
</Files>
<Files ~ "feed\.xml">
  Order allow,deny
  Allow from all
</Files>
<Files ~ "rss\.xml">
  Order allow,deny
  Allow from all
</Files>
#<Files ~ "\.php$">
#  Order allow,deny
#  Deny from all
#</Files>
<Files ~ "warmup\/*\.*">
  Order allow,deny
  Allow from all
</Files>
<Files ~ "index\.php">
  Order allow,deny
  Allow from all
</Files>

AddType video/ogg .ogv
AddType video/mp4 .mp4
AddType video/webm .webm

# If you have problems uploading large images try uncommenting these lines
#
#   php_value post_max_size 64M
#   php_value upload_max_filesize 60M

## END Known Webserver Config (don't remove)

...and the database doesn’t look empty:

mysql> USE knowndb;
Reading table information for completion of table and column names
You can turn off this feature to get a quicker startup with -A

Database changed
mysql> SHOW TABLES;
+-------------------+
| Tables_in_knowndb |
+-------------------+
| config_metadata   |
| config_search     |
| entities_metadata |
| entities_search   |
| reader            |
| reader_metadata   |
| reader_search     |
| versions          |
+-------------------+
8 rows in set (0.00 sec)

Give us some context:

version.known
version = '1.2.2'
build = 2020061101
revision = "bd43456"

Known 1.2.2 (downloaded from https://withknown.marcus-povey.co.uk/known-1.2.2.tgz), Debian 5.10.46-3 VPS using Apache/2.4.53 (Debian), PHP 7.4.28 (cli), mysql 8.0.27 for Linux on x86_64 (MySQL Community Server - GPL).

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

1 participant