Jump to content

mysql 1146 table doesn't exist

Recommended Posts

Hi there,

I'm having issues installing the latest PW version. Upon installing i get this weird error message «mysql 1146 table doesn't exist», although it does. I went through the forum and looked for answers elsewhere on the internet, couldn't find a solution. 

I tried to comment out a few things in the .htaccess, as often suggested, and went so far as to comment out everything, it still won't work. I can get to the frontend every now and again, i can even log into the backend sometimes. But most of the time i get a «Internal Server Error» message. 

I contacted the hoster but they think it's an issue with PW and not with they're hosting (of course ;-). 

Any suggestions as to how to fix it?


Share this post

Link to post
Share on other sites

Upon installing i get this weird error message «mysql 1146 table doesn't exist», although it does.

Which table doesn't exist? Is this the full error message, and if so, how do you know which table it's referring to? :)

Do you get any errors or other weirdness in your /site/assets/logs/errors.txt or /site/assets/logs/messages.txt, and if you enable the debug mode (via /site/config.php), what's the full error message you're getting?

Edit: reading your post properly, you mention that sometimes the site works. This makes it sound a lot like a database issue, and while I'd be tempted to say that it's most likely an issue with your host, we should probably dig into this a bit further.

Is the database on the same machine (localhost), or is it on a separate server (and host)? Have you ever experienced connectivity issues with this host before?

Edited by teppo

Share this post

Link to post
Share on other sites

Thanks teppo,

Here's the error message in the error log: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'web338a_pw2.fields' doesn't exist

The database isn't on a localhost, it's now hosted somewhere else apparently. The host said it's 'pxchap.oemsites.net'. I've been working with this host before, and it used to be "localhost", and PW worked well.

Share this post

Link to post
Share on other sites

Right. After looking around for a while, I still can't seem to find an obvious solution to this. Considering that you mentioned that sometimes things work as expected, only things I can think of right now are that a) the MySQL server is not functioning properly, b) connection between your site and the MySQL server is bad, or c) it's a performance/stability issue (i.e. the database server can't handle the load).

Since you mentioned that you've been working with this host before, did you mean that you've had (or still have) other sites there that run just fine.. or did this particular site run fine at some point and break after a change on the server? If that would be the case, I'd be almost certain that the host migrated databases elsewhere and something went wrong, but if this is a brand new database, that's somewhat less likely.

Either way, the issue itself still sounds like something related to your web host. I've never seen or heard this happening before, and while my experiences may be somewhat different from majority of users here (I prefer to manage all my servers myself, so don't have much experience with shared/managed hosts), I know for sure that ProcessWire has been running perfectly fine on so many hosts that this is very unlikely to be a ProcessWire issue per se.

Share this post

Link to post
Share on other sites

I also have the feeling that there's an issue with the host. But guess what: they say it's PW ;-)

Though they did mention that the problem could lie in the dbEngine. They suggested to use the Experimental DB Options as InnoDB and not Myisam. But that didn't work.

They say Myisam is old and therefore shouldn't be used anymore. But I'm just repeating words that i don't understand ;-)

I'm looking into switching host, and hopefully I won't have this issue anymore.

Thanks again for your time!

Share this post

Link to post
Share on other sites

Did you change the database settings to InnoDB while installing ProcessWire?

Yes, I did. Didn't work either.

Share this post

Link to post
Share on other sites

The host support just got back to me saying the following (in German…):

"Wir haben getestet und herausgefunden, dass trotz gewählten InnoDB Option, MyISAM Tabellen werden erstellt. Offenbar erwähnte "Experimentelle" Funktion in Processwire mit InnoDB nicht funktioniert. Aus diesem Grund hatten Sie auch mit "InnoDB" das Problem. Wir haben manuell in InnoDB konvertiert und es funktioniert."

--> Meaning, they think that the Experimental Options don't work. Could this be?

Share this post

Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now

  • Recently Browsing   0 members

    No registered users viewing this page.

  • Similar Content

    • By wwwouter
      Some context: I want to use PHP variables in my CSS (more info below) and found a solution on CSS-tricks that looks fairly elegant and somewhat solid to me. It's pretty simple, I created a file style.css.php inside the site/templates/ directory and load that in my page head. In style.css.php is the following:
      <?php header("Content-type: text/css; charset: UTF-8"); header("Charset:utf-8"); if ($homepage->hero_image) { echo <<<CSS .hero { background: url($homepage->hero_image->url) no-repeat; } CSS; } ?> Because of the following RewriteCond (line 373) in the htaccess file the server sends a 403 error back when the file is requested:
      # Block access to any PHP or markup files in /site/templates/ or /site-*/templates/ RewriteCond %{REQUEST_URI} (^|/)(site|site-[^/]+)/templates($|/|/.*\.(php|html?|tpl|inc))($|/) [NC,OR] (My htaccess file is @version 3.0 and @htaccessVersion 301)
      This is how I thought I could fix that (based on these answers on stack overflow) but it does not work:
      # Block access to any PHP or markup files in /site/templates/ or /site-*/templates/ RewriteCond %{REQUEST_URI} (^|/)(site|site-[^/]+)/templates($|/|/((?!style\.css).)*\.(php|html?|tpl|inc))($|/) [NC,OR] I tested the rule with htacess tester and htaccess check and both worked for me, but on my site I still get a 403 instead of the file.
      I'm working on localhost, using MAMP (not sure if that's relevant).
      A bit more about what I want to do achieve specifically:
      I want to use an image as a background-image for an element, not place it as an image. This image is provided by the user via a field and can therefore change.
      I know I can achieve this like this:
      echo "<section class='hero' style='background-image: url($page->hero_image->url)'></section>"; But I would prefer a method other than inlining because of scalability and cleanliness. (I admit the extra link in the page head is not ideal either)
      P.s. this is my first post here, I hope it's submitted in the right forum and my explanation is clear.
    • By RDC
      Is the right way to get Processwire to skip a folder (ie not process it as its running a different CMS) to put
      RewriteCond %{REQUEST_URI} !^/shop/.*$
      just before 
      RewriteRule ^(.*)$ index.php?it=$1 [L,QSA]
      in .htaccess?
    • By Spiria
      I am writing here instead of the ProCache forum because I have the impression that several nginx experts could solve this. In its new version, Procache proposes new .htaccess rules that are difficult to translate into nginx rules. We currently have a problem with the trailing slash of URLs which gives us a bad score in SEO analysis tools such as semrush.com. 
      Indeed, a canonical URL is either without or with "/", but cannot be served by both options. Although ProcessWire without ProCache respects this rule, ProCache has no difficulty serving both, which is considered an SEO optimisation fault. I believe that ProCache version 2 solves this problem with these new rules, but I can't understand the following. Does anyone have any idea how to translate this into a nginx rule?
      Attached also the whole proposed .htaccess for ProcessWire.
      # PROCACHE v2/31885be14d6cfb4b2b0d3e533260bded -------------------------------------------------- RewriteCond %{REQUEST_METHOD} !=POST RewriteCond %{QUERY_STRING} !.*=.* RewriteRule ^.*/$ - [E=pwpcstep:pour,E=pwpcname:index] RewriteCond %{ENV:pwpcstep} "=pour" RewriteCond %{HTTP_COOKIE} !^.*(wire_challenge|wires_challenge).*$ RewriteRule ^.*/$ - [E=pwpcstep:stir,E=pwpcpath:%{DOCUMENT_ROOT}/site/assets/ProCache-00478359c5e65dbada1075bfbd4] RewriteCond %{ENV:pwpcstep} "=stir" RewriteCond %{ENV:pwpcpath}/$0/%{ENV:pwpcname}.html -f RewriteRule ^.*$ - [E=pwpcstep:drink,E=pwpcfile:$0/%{ENV:pwpcname}.html] RewriteCond %{ENV:pwpcstep} "=drink" RewriteRule ^(.*) %{ENV:pwpcpath}/%{ENV:pwpcfile} [L] <ifModule mod_headers.c> Header set X-PWPC "ProCache" env=pwpcstep Header set X-Powered-By "ProcessWire CMS, ProCache" env=pwpcstep </ifModule> RewriteCond %{REQUEST_URI} "^/~?[-_.a-zA-Z0-9/]*$" # /PROCACHE -------------------------------------------------------------------------------------  
    • By Peter Knight
      Can anyone tell me which .htaccess directive might be blocking a site import feature from scanning my public_html folder and listing all files and folders.
      These would be both PW files/folders but also some non PW folders which my PW site references for media.
      Latest .htaccess file on Github
      I can see various options from Section 15 onwards (# 15. Access Restrictions (v301)) but nothing that would block both SSH and FTP scans my VPS site import file uses.
      When I point the same site import tool at a non PW site on the same directory it works.
      I could disable htaccess temporarily but it's a busy and active site.

    • By daniel_puehringer
      Hi Community,

      Sadly I cannot intall ProcessWire on my webserver (Hosted at https://www.world4you.com/de/startseite.html, a small hosting provider in Austria)
      Here is the Problem: 
      1. I downloaded the current masterbranch as a .zip file (After a few tries I also downloaded the code via the git clone command, that led to the same error), unzipped it and transferred it to my server. Since there is already a wordpress site installed on the root directory, I transferred the processwire files into /relaunch and created a subdomain.
      2. I tried to install the language starter kit. As soon as I navigate to that folder Screenshot1 (see attached file 'processWireBug1') is shown. Everything looks nice, except the red text referring to the 'mod_rewrite' rule. The webserver provides the 'apache mod_rewrite' rule.
      3. As soon as I want to press 'Check again' or 'Continue to next step' an error Page with 500 error (see Screenshot 'processWireBug2') occurs.
      4. You can find my .htaccess file attached to this post..htaccess

      How could I solve this issue?

      Some additional information:
      1) the webserver provides the apache mod_rewrite (I checked that several times) and has php version 7.3. installed.
      2) since there is a wordpress site installed on the root directory, there is also a .htaccess file on the root directory. Could this .htaccess file have an impact on the .htaccess file for my processwire website?

      Thanks for your help and greetings from Austria,

  • Create New...