Skip to main content

Migrate WordPress Multisite from localhost to public hosting (Error establishing a database connection

I'm a little desperate because I've been trying to find the problem I have for several days and there is no way. I am new to WordPress but I have already developed several sites in PHP / Laravel.

But I have created a WordPress Multisite website in local and when I try to publish it to my IONOS hosting, after doing everything that needs to be done, I get the error "Error establishing a database connection", it does not say anything else. In the browser console I see also a very generic error (Failed to load resource: the server responded with a status of 500 ())

The way to publish was as follows:

  1. Create site generated by the same hosting IONOS with all the Multisite configuration done automatically by this site, adding the lines indicated in wp-config.php:

    define( 'WP_ALLOW_MULTISITE', true ); define( 'MULTISITE', true ); define( 'SUBDOMAIN_INSTALL', false ); define( 'DOMAIN_CURRENT_SITE', 'xxxx' ); define( 'PATH_CURRENT_SITE', '/' ); define( 'SITE_ID_CURRENT_SITE', 1 ); define( 'BLOG_ID_CURRENT_SITE', 1 );

and in .htaccess:

RewriteEngine On
RewriteRule .* - [E=HTTP_AUTHORIZATION:%{HTTP:Authorization}]
RewriteBase /
RewriteRule ^index\.php$ - [L]

# add a trailing slash to /wp-admin
RewriteRule ^([_0-9a-zA-Z-]+/)?wp-admin$ $1wp-admin/ [R=301,L]

RewriteCond %{REQUEST_FILENAME} -f [OR]
RewriteCond %{REQUEST_FILENAME} -d
RewriteRule ^ - [L]
RewriteRule ^([_0-9a-zA-Z-]+/)?(wp-(content|admin|includes).*) $2 [L]
RewriteRule ^([_0-9a-zA-Z-]+/)?(.*.php)$ $2 [L]
RewriteRule . index.php [L]
  1. Delete the wp-content folder to upload the (wp-content) that I already have in local of the finished site.
  2. Edit wp-config changing the domain from 'localhost' to the domain of my hosting.
  3. Edit the .htaccess changing the "RewriteBase /" from local to hosting. 5.In the database created by the hosting delete all the tables and import the database of the local site replacing the local domain by the new one in all the tables, starting with the wp-options tables and going through the posts, etc. tables. I have checked the PHP versions and they are 7.4 for my hosting and local, the WordPress version is also the same 5.8. The local DB version is MariaDB 10.4 and the hosting one is MySQL 5.7. (It will be because of the version of BD????)

I have checked everything a thousand times and I do not understand what can be happening, the database access credentials in the wp-config are correct, in fact I did the test with a script checking the DB connection in case the DB host does not work but the connection was made correctly.

Can someone give me a hand?

Thank you very much.



source https://stackoverflow.com/questions/68973835/migrate-wordpress-multisite-from-localhost-to-public-hosting-error-establishing

Comments

Popular posts from this blog

Where and how is this Laravel kernel constructor called? [closed]

Where and how is this Laravel kernel constructor called? public fucntion __construct(Application $app, $Router $roouter) { } I have read the documentation and some online tutorial but I can find any clear explanation. I am learning Laravel and I am wondering where does this kernel constructor receives its arguments from. "POSTMOTERM" CLARIFICATION: Here is more clarity.I have checked the boostrap/app.php and it is only used for boostrapping the interfaces into the container class. What is not clear to me is where and how the Kernel class is instatiated and the arguments passed to the object calling the constructor.Something similar to; obj = new kernel(arg1,arg2) or, is the framework using some magic functions somewhere? Special gratitude to those who burn their eyeballs and brain cells on this trivia before it goes into a full blown menopause alias "MARKED AS DUPLICATE". To some of the itchy-finger keyboard warriors, a.k.a The mods,because I believe in th...

Why is my reports service not connecting?

I am trying to pull some data from a Postgres database using Node.js and node-postures but I can't figure out why my service isn't connecting. my routes/index.js file: const express = require('express'); const router = express.Router(); const ordersCountController = require('../controllers/ordersCountController'); const ordersController = require('../controllers/ordersController'); const weeklyReportsController = require('../controllers/weeklyReportsController'); router.get('/orders_count', ordersCountController); router.get('/orders', ordersController); router.get('/weekly_reports', weeklyReportsController); module.exports = router; My controllers/weeklyReportsController.js file: const weeklyReportsService = require('../services/weeklyReportsService'); const weeklyReportsController = async (req, res) => { try { const data = await weeklyReportsService; res.json({data}) console...

How to show number of registered users in Laravel based on usertype?

i'm trying to display data from the database in the admin dashboard i used this: <?php use Illuminate\Support\Facades\DB; $users = DB::table('users')->count(); echo $users; ?> and i have successfully get the correct data from the database but what if i want to display a specific data for example in this user table there is "usertype" that specify if the user is normal user or admin i want to user the same code above but to display a specific usertype i tried this: <?php use Illuminate\Support\Facades\DB; $users = DB::table('users')->count()->WHERE usertype =admin; echo $users; ?> but it didn't work, what am i doing wrong? source https://stackoverflow.com/questions/68199726/how-to-show-number-of-registered-users-in-laravel-based-on-usertype