How to run Vue on port 5173 when using Laravel? – This is the Vite development server that provides Hot Module Replacement

I am learing Laravel, and following a fullstack tutorial. The application is Laravel+Vue.

When I started Laravel on port 8000 with php artisan serve it opened as it should. Then I created Vue app inside src folder. It should be started with command npm run dev on port 5173. When I open it, I don’t see default Vue starting page:

enter image description here

I only see this:

enter image description here

How can I start the right server on right port to make frontend of my app?

In shopify with laravel the APP is not loading

I am using laravel in shopify for custom App development.
Laravel => 8
package => laravel/ossiset

I have used this link to install:

https://clickysoft.com/shopify-laravel-app-development/

I have installed it successfully and i have notice some strange behaviour with the APP using with Specific URL.

When i logged into my shopify admin account the URL is:

https://admin.shopify.com/store/[STORE NAME]/products?selectedView=all

When i switch to App and click on my APP to load. It will stop and shows the URL:

https://admin.shopify.com/store/[STORE NAME]/apps/[APP NAME]

The App is working on this URL:

https://[STORE NAME].myshopify.com/admin/apps/[APP NAME]

Now, I want APP should work on this URL:

https://admin.shopify.com

As this APP is with Laravel It is using BLADE engine.

Hope any help me to find a solution.
Thank you

Unable to Add Product Without Stock Tracking to WooCommerce Cart When Another Product Exists in the Cart

I am trying to prepare an API for the WooCommerce shopping cart. My issue is that for certain products, if there is already a product in the cart and the product I am trying to add does not have stock management (i.e., the ‘manage stock’ option is disabled), I cannot add the new product to the cart. It seems to prevent me from adding products without stock tracking if there is already an item in the cart.

My code :

index.php:

<?php
/*
    Plugin Name: Umut API
    Description: WooCommerce API deneme eklentisi.
    Version: 1.0
    Author: Umut
    Text Domain: @@@
    Domain Path: /lang
*/
require_once (__DIR__).'/Controllers/CartController.php';

add_filter('woocommerce_rest_api_get_rest_namespaces', 'woo_custom_api');

function woo_custom_api( $controllers ) {
    $controllers['wc/v3']['cart'] = 'CartController';
    return $controllers;
}
?>

Controllers/WC_REST_API_Controller.php :

<?php

const PATH = ABSPATH . 'wp-content/plugins/woocommerce/includes/rest-api/Controllers/Version3/';
include_once PATH . 'class-wc-rest-controller.php';
include_once PATH . 'class-wc-rest-posts-controller.php';

include_once ABSPATH . 'wp-content/plugins/woocommerce/includes/wc-cart-functions.php';

abstract class WC_REST_API_Controller extends WC_REST_Posts_Controller{

    const NAMESPACE = 'wc/v3';

    protected $post_type = 'post';

    public abstract function define_route($method, $callback, $arg);

}

?>

Controllers/CartController.php :

<?php 

const PLUGINS_DIR = ABSPATH . 'wp-content/plugins/';

require_once (__DIR__).'/WC_REST_API_Controller.php';
// include PLUGINS_DIR . 'woocommerce/includes/class-wc-cart.php';

class CartController extends WC_REST_API_Controller{

    public $endpoint = '/cart';

    public function define_route( $method, $callback, $arg ) {

        register_rest_route(
            parent::NAMESPACE,
            $this->endpoint . $arg,
            [
                'methods' => $method,
                'callback' => $callback,
                'permission_callback' => [ $this, 'get_items_permissions_check' ],
            ]
        );
    }

    public function register_routes() {
        $this->define_route('GET'   , [ $this, 'getCart'                    ] , '/get/user_id/(?P<userID>d+)' );
        $this->define_route('PATCH' , [ $this, 'updateCart'                 ] , '/updateCart/user_id/(?P<userID>d+)/product_id/(?P<productID>d+)/quantity/(?P<quantity>d+)' );
        $this->define_route('DELETE', [ $this, 'deleteProductInCart'        ] , '/delete/user_id/(?P<userID>d+)/product_id/(?P<productID>d+)/quantity/(?P<quantity>d+)' );
        $this->define_route('DELETE', [ $this, 'deleteAllProductsInCart'    ] , '/delete/user_id/(?P<userID>d+)' );
    }

    public function getCart( $request ) {
        
        $userID = json_decode( $request->get_param('userID') );
        $metaKey = '_woocommerce_persistent_cart_' . get_current_blog_id() ;
        $cartMeta = get_user_meta( $userID, $metaKey );
        $cartMeta = $cartMeta[0][ 'cart' ];
        
        if (count( $cartMeta ) < 1) {
            return [ 'status' => false, 'message' => 'Shopping cart is empty', 'cart' => null ];
        }

        $cart = [];

        foreach ($cartMeta as $item) {

            $id = 0;

            if ($item[ 'variation_id' ] !== 0) {
                $id = $item[ 'variation_id' ];
            }
            else{
                $id = $item[ 'product_id' ];
            }

            $currentProduct = wc_get_product( $id );

            $currentProductData = $currentProduct->get_data();

            $image = wp_get_attachment_image_src( get_post_thumbnail_id( $id ));

            $currentProductData[ 'image' ] = $image;

            $item[ 'productData' ] = $currentProductData;
            $item[ 'final_total' ] = $item[ 'quantity' ] * $item[ 'productData' ][ 'price' ];
            $cart[] = $item;
        }
        return ['status' => true, 'message' => 'Shopping cart is brought', 'cart' => $cart];
    }


    public function updateCart( $request ){
        global $wpdb;

        $userID     = json_decode($request->get_param('userID'));
        $quantity   = json_decode($request->get_param('quantity'));
        $productID  = json_decode($request->get_param('productID'));

        $currentProduct     = false;
        $isUserDefined      = false;
        $backOrderNotify    = false;

        $allUsers = get_users();
        foreach ( $allUsers as $user ) {

            if ( json_decode( $user->data->ID ) === $userID ) {
                $isUserDefined = true;
                break;
            }
        }

        if ( ! $isUserDefined ){
            return [ 'status' => false, 'message' => 0 ];
        }

        $currentProduct = wc_get_product( $productID );

        if ( ! $currentProduct ) {
            return [ 'status' => false, 'message' => 1 ];
        }

        $currentProductData = $currentProduct->get_data();

        if ( $currentProductData[ 'backorders' ] === 'notify' ) {
            $backOrderNotify = true;

            if ( $currentProductData[ 'manage_stock' ] === true ) {

                if ( $quantity < json_decode($currentProductData[ 'stock_quantity' ] ) ) {
                    $backOrderNotify = false;
                }
            }
            else if( $currentProductData[ 'manage_stock' ] === false && json_decode($currentProductData[ 'parent_id' ] ) !== 0 ) {

                $mainProduct = wc_get_product( json_decode($currentProductData[ 'parent_id' ] ) );
                $mainProductData = $mainProduct->get_data();
                if ( $mainProductData[ 'manage_stock' ] === true &&  $quantity < json_decode( $mainProductData[ 'stock_quantity' ] ) ) {
                    $backOrderNotify = false;
                }
            }
        }
        else if( $currentProductData[ 'backorders' ] === 'no' ) {

            if ( $currentProductData[ 'stock_status' ] !== 'instock' ) {
                return new WP_REST_Response( [ 'status' => false], 200 );
            }

            if ( $currentProductData[ 'manage_stock' ] === true ) {
                if ( $quantity > json_decode($currentProductData[ 'stock_quantity' ] ) ) {
                    return new WP_REST_Response( [ 'status' => false], 200 );
                }
            }
            else if( $currentProductData[ 'manage_stock' ] === false && json_decode($currentProductData[ 'parent_id' ] ) !== 0 ){
                $mainProduct = wc_get_product( json_decode($currentProductData[ 'parent_id' ] ) );
                $mainProductData = $mainProduct->get_data();

                if ( $mainProductData[ 'backorders' ] === 'notify' ) {
                    $backOrderNotify = true;
                }

                else if( $mainProductData[ 'backorders' ] === 'no' ){

                    if ( $mainProductData[ 'stock_status' ] !== 'instock' ) {
                        return new WP_REST_Response( [ 'status' => false ], 200 );
                    }

                    if ( $mainProductData[ 'manage_stock' ] === true &&  $quantity > json_decode( $mainProductData[ 'stock_quantity' ] ) ) {
                        return new WP_REST_Response( [ 'status' => false ], 200 );
                    }
                }
            }
        }

        wc_load_cart();
        WC()->cart->add_to_cart( $productID, $quantity );
        return new WP_REST_Response( [ 'status' => true, 'message' => "Products successfully added to cart, new item quantity = $quantity"], 200 );
    }
    public function deleteProductInCart( $request ) {
        $userID     = $request->get_param( 'userID' );
        $quantity   = $request->get_param( 'quantity' );
        $productID  = $request->get_param( 'productID' );
        return [ 'message' => 'deleteProductInCart', 'params' => [ 'userID' => $userID, 'productID' => $productID, 'quantity' => $quantity ] ];
    }
    public function deleteAllProductsInCart( $request ) {
        $userID = $request->get_param( 'userID' );
        return [ 'message' => 'deleteAllProductsInCart', 'params' => [ 'userID' => $userID ] ];
    }

}
?>

Change the postal code required field based on country [closed]

I have a wordpress website, what I’m trying to achieve is to toggle the Required* of the postal code field on checkout page based on country/city selected. To be more specefic if the country is Lebanon I want the postal code field to not mandatory, as for all other countries to be required. I want to do that using code snippet if possible.

import Elementor site setting programmatically

When we develop a custom theme, It’s helpful to use custom color / custom typography setting from Elementor Site Settings. But It’s not import we setup Demo import settings. ( Using One click Demo import or other ) Only way i saw import/export site kit from elementor tools. but is it possible to do programmatically? I want to inlcude the function in one click Demo import function, so when oneclick demo import will run successfully it will import automatically.

Firebase in production

I use firebase php-sdk for laravel. It works nice on my test site, on localhost, but on prod with same credentials doesn’t. Example: I validate same fcm token Firebase::messaging()->validateRegistrationTokens('fLaGUygupk9NkwcHkHyrsM:APA91bH7Y0QgNQ4XcHGWA8OC8i-FqBQ2nAKnv0P-BQhJp_kFPMsGOSTM8k8XJQawYCu9Anh24Yw5fN1aJoV8ATugdW-Epn-Lqow_39IahaXVL9Hhpqlkk_i1PHjgn0yRHOZPq6URI_7D') and on test site I have this

Array
(
    [valid] => Array
        (
            [0] => fLaGUygupk9NkwcHkHyrsM:APA91bH7Y0QgNQ4XcHGWA8OC8i-FqBQ2nAKnv0P-BQhJp_kFPMsGOSTM8k8XJQawYCu9Anh24Yw5fN1aJoV8ATugdW-Epn-Lqow_39IahaXVL9Hhpqlkk_i1PHjgn0yRHOZPq6URI_7D
        )

    [unknown] => Array
        (
        )

    [invalid] => Array
        (
        )

)

but on prod – this

Array
(
    [valid] => Array
        (
        )

    [unknown] => Array
        (
        )

    [invalid] => Array
        (
        )

)

I create new key, new tokens but result is the same

dynamic.ooo plugin carousel customizations

I am using the dynamic.ooo plugin in my WordPress site to show some posts in a carousel dynamically.The posts change time to time.I want to show the first three posts with a border. How can i access the first three posts. I have tried by some php functions but it is not working.

I tried some php codes but they don’t work. I can’t find the correct classes or dont know how to target only first three posts

Can not get “setPropertyId” in “Google_Service_AnalyticsReporting_ReportRequest”

I have a GA4 account and propertyId created, I have created the service account and got the JSON file also.

I am implementing a code in which I want to get the Google Analytics data for my PHP application.

I have added the composer and also the package:

"google/apiclient": "^2.14",

This is the code i am trying to get the data.

// Create a Google Analytics service object.
$analytics = new Google_Service_AnalyticsReporting(
    [
        'credentials' => file_get_contents('client_secrets.json'),
    ]
);

// Create a request object.
$request = new Google_Service_AnalyticsReporting_ReportRequest();

// Set the property ID.
$request->setPropertyId('YOUR_PROPERTY_ID');

// Set the dimensions and metrics that you want to get.
$request->setDimensions(['ga:pagePath', 'ga:visits']);
$request->setMetrics(['ga:users', 'ga:bounceRate']);

// Call the Google Analytics API.
$response = $analytics->reports()->batchGet($request);

// Get the results.
foreach ($response->getReports() as $report) {
    foreach ($report->getData() as $row) {
        // Print the results.
        echo $row->getDimensions()[0] . ': ' . $row->getMetrics()[0]->getValue() . PHP_EOL;
    }
}

But in this line:

$request->setPropertyId('YOUR_PROPERTY_ID');

I get the error

Error
Call to undefined method GoogleServiceAnalyticsReportingReportRequest::setPropertyId()

I am doing this first time, so also please help me if I am not on the correct path.

how to change backorder name in plugin Woocommerce backorder manager

I have been facing a problem for a few days, and that is that I used to be able to see the number of backorders of an order in the order display section. I was using the Woocommerce backorder manager plugin and everything was working fine until I updated Woocommerce.
Now, in the order details section, instead of the word Backordered, the text Back-ordered is displayed, and it is not known how many of the new orders are backorders.
Do I need to share my plugin codes?
Or have you ever had this problem?

I changed the plugin codes several times, but nothing changed. I think I chose the wrong section.

I want to consecrate what is better in this matter Node.js, PHP, Angular.js, React. And which one of them is better suited for what?

I would like the answer to this question not only to have dry facts, but also to convey my experience. Kind of : “I wrote n-years on this, but then I tried it and I liked it more for that reason.” I would also like this question to give an answer to beginners (such as me) what is better suited for what (I think it will come in handy in those situations when you know that in the next year or two you will write, say, web applications with a cool user interface, then you take it React).

I have read articles and descriptions of languages, but it seems to me that many articles are outdated and therefore I want them to indicate their experience if possible

Laravel Foreign key Issue

Schema::create('tbl_candidatures', function (Blueprint $table) {
            $table->increments('id');
            $table->timestamp('SubmitDate');
            $table->string('cvPath');
            $table->string('LettreMotivationPath');
            $table->unsignedInteger('id_perso')->index();
            $table->foreign('id_perso')->references('id')->on('tbl_compte_personnels');
            $table->unsignedInteger('id_aca')->index();
            $table->foreign('id_aca')->references('id')->on('tbl_compte_academiques');
            $table->unsignedInteger('id_profe')->index();
            $table->foreign('id_profe')->references('id')->on('tbl_compte_professionels');
            $table->timestamps();
Schema::create('tbl_compte_personnels', function (Blueprint $table) {
            $table->increments('id');
            $table->string('lName',100);
            $table->string('lFame',100);
            $table->string('Civilite',50);
            $table->date('DateDeNaissance',);
            $table->string('PaysDeNaissance');
            $table->string('RegionDeNaissance');
            $table->string('LieuxDeNaissance');
            $table->bigInteger('Age');
            $table->string('SituationFamiliate');
            $table->string('Adresse');
            $table->string('VilleDeResidence');
            $table->string('RegionDeResidence');
            $table->string('PaysDeResidence');
            $table->timestamps();

SQLSTATE[HY000]: General error: 1005 Can’t create table e-recrutementdb.tbl_candidatures (errno: 150 “Foreign key constraint is incorrectly formed
ormed”) (SQL: alter table tbl_candidatures add constraint tbl_candidatures_id_perso_foreign foreign key (id_perso) references tbl_compte_per sonnels (id))

I have already created the database requirements for those foreign keys to work.

google merchant center special chars issue

I have product feed like that

<?xml version="1.0" encoding="utf-8"?>
<rss xmlns:g="http://base.google.com/ns/1.0" version="2.0">
  <channel>
    <name>name</name>
    <description>description</description>
    <link>link</link>
    <item>
      <g:id>27</g:id>
      <g:title>title</g:title>
      <g:description>description</g:description>
      <g:link>link</g:link>
      <g:image_link>image_link</g:image_link>
      <g:availability>in_stock</g:availability>
      <g:condition>new</g:condition>
      <g:price>price</g:price>
      <g:brand>brand</g:brand>
      <g:gtin>gtin</g:gtin>
    </item>
  </channel>
</rss>

generated by php

        $dom = new DOMDocument();
        $dom->encoding = 'utf-8';
        $dom->xmlVersion = '1.0';
        $dom->formatOutput = true;
        $root = $dom->createElement('rss');
        $channel = $dom->createElement('channel');

//adding products

$root->setAttribute('xmlns:g', "http://base.google.com/ns/1.0");
        $root->setAttribute('version', "2.0");
        $root->appendChild($channel);

        $dom->appendChild($root);
        $dom->save($file_name);

        
        $xml = file_get_contents($file_name);
        $xml = trim($xml);
        header('Content-Type: text/xml');
        print($xml);

field ‘g:description’ may contain symbols like &Eacute; &mdash; &rsquo; &reg;
and when GMS tries to process the feed, I get an error “Error parsing/validating XML feed”
but &lt;p&gt; &nbsp; does not cause an error

How can i fix it?

I tried to set the encoding manually to UTF-8 in the GMS feed tab settings but it got worse

I cannot solve the SQLSTATE[HY000] [1045] Access denied for user ‘root’@’localhost’ (using password: YES) problem [duplicate]

I’m new to Laravel and MySQL and I recently signed up in Stack Overflow just to get help, but I’ll try to put up as much detail to my issue as I can.

The problem began when I was typing this piece of code in UserController.php through the blog9/app/Http/Controllers directory (blog9 is just the name of my Laravel project which is located on my desktop).

<?php

namespace AppHttpControllers;

use IlluminateHttpRequest;
use IlluminateSupportFacadesDB;

class UserController extends Controller
{
    function index()
    {
        return DB::select("SELECT * FROM `users`");
    }
}

Then I created an account for http://localhost/phpmyadmin, started the Apache and MySQL services, and created my database there. XAMPP Control Panel is what I used to start these services. Next, I typed php artisan serve in the command prompt to access my website at http://127.0.0.1:8000 (it works as usual), but once I added /users at the end of the URL I receive the “Access denied” error.

I had to search for solutions on YouTube, and I had already tried removing the $cfg[‘Servers’][$i][‘password’] value in C:xamppphpMyAdmin, and I also ran the commands below in the command prompt to no avail:

GRANT ALL PRIVILEGES ON *.* TO root@localhost WITH GRANT OPTION
GRANT PROXY ON ''@'%' TO 'root'@'localhost' WITH GRANT OPTION;
FLUSH PRIVILEGES;

Here are some files I altered a little as a futile attempt in solving the problem:

.env in blog9:

APP_NAME=Laravel
APP_ENV=local
APP_KEY=base64:qc551PHbQqn8OZDgn6nCcWkeIkcRBvHKaOneqDKyQl0=
APP_DEBUG=true
APP_URL=http://localhost

LOG_CHANNEL=stack
LOG_DEPRECATIONS_CHANNEL=null
LOG_LEVEL=debug

DB_CONNECTION=mysql
DB_HOST=http://localhost
DB_PORT=3306
DB_DATABASE=blog
DB_USERNAME=root
DB_PASSWORD=

BROADCAST_DRIVER=log
CACHE_DRIVER=file
FILESYSTEM_DISK=local
QUEUE_CONNECTION=sync
SESSION_DRIVER=file
SESSION_LIFETIME=120

MEMCACHED_HOST=127.0.0.1

REDIS_HOST=127.0.0.1
REDIS_PASSWORD=null
REDIS_PORT=6379

MAIL_MAILER=smtp
MAIL_HOST=mailpit
MAIL_PORT=1025
MAIL_USERNAME=null
MAIL_PASSWORD=null
MAIL_ENCRYPTION=null
MAIL_FROM_ADDRESS="[email protected]"
MAIL_FROM_NAME="${APP_NAME}"

AWS_ACCESS_KEY_ID=
AWS_SECRET_ACCESS_KEY=
AWS_DEFAULT_REGION=us-east-1
AWS_BUCKET=
AWS_USE_PATH_STYLE_ENDPOINT=false

PUSHER_APP_ID=
PUSHER_APP_KEY=
PUSHER_APP_SECRET=
PUSHER_HOST=
PUSHER_PORT=443
PUSHER_SCHEME=https
PUSHER_APP_CLUSTER=mt1

VITE_APP_NAME="${APP_NAME}"
VITE_PUSHER_APP_KEY="${PUSHER_APP_KEY}"
VITE_PUSHER_HOST="${PUSHER_HOST}"
VITE_PUSHER_PORT="${PUSHER_PORT}"
VITE_PUSHER_SCHEME="${PUSHER_SCHEME}"
VITE_PUSHER_APP_CLUSTER="${PUSHER_APP_CLUSTER}"

database.php in blog9config:

<?php

use IlluminateSupportStr;

return [

    'default' => env('DB_CONNECTION', 'mysql'),

    'connections' => [

        'sqlite' => [
            'driver' => 'sqlite',
            'url' => env('DATABASE_URL'),
            'database' => env('DB_DATABASE', database_path('database.sqlite')),
            'prefix' => '',
            'foreign_key_constraints' => env('DB_FOREIGN_KEYS', true),
        ],

        'mysql' => [
            'driver' => 'mysql',
            'url' => env('DATABASE_URL'),
            'host' => env('DB_HOST', 'http://localhost/'),
            'port' => env('DB_PORT', '3306'),
            'database' => env('DB_DATABASE', 'blog'),
            'username' => env('DB_USERNAME', 'root'),
            'password' => env('DB_PASSWORD', ''),
            'unix_socket' => env('DB_SOCKET', ''),
            'charset' => 'utf8mb4',
            'collation' => 'utf8mb4_unicode_ci',
            'prefix' => '',
            'prefix_indexes' => true,
            'strict' => true,
            'engine' => null,
            'options' => extension_loaded('pdo_mysql') ? array_filter([
                PDO::MYSQL_ATTR_SSL_CA => env('MYSQL_ATTR_SSL_CA'),
            ]) : [],
        ],

        'pgsql' => [
            'driver' => 'pgsql',
            'url' => env('DATABASE_URL'),
            'host' => env('DB_HOST', '127.0.0.1'),
            'port' => env('DB_PORT', '5432'),
            'database' => env('DB_DATABASE', 'forge'),
            'username' => env('DB_USERNAME', 'forge'),
            'password' => env('DB_PASSWORD', ''),
            'charset' => 'utf8',
            'prefix' => '',
            'prefix_indexes' => true,
            'search_path' => 'public',
            'sslmode' => 'prefer',
        ],

        'sqlsrv' => [
            'driver' => 'sqlsrv',
            'url' => env('DATABASE_URL'),
            'host' => env('DB_HOST', 'localhost'),
            'port' => env('DB_PORT', '1433'),
            'database' => env('DB_DATABASE', 'forge'),
            'username' => env('DB_USERNAME', 'forge'),
            'password' => env('DB_PASSWORD', ''),
            'charset' => 'utf8',
            'prefix' => '',
            'prefix_indexes' => true,
            // 'encrypt' => env('DB_ENCRYPT', 'yes'),
            // 'trust_server_certificate' => env('DB_TRUST_SERVER_CERTIFICATE', 'false'),
        ],

    ],

    'migrations' => 'migrations',

    'redis' => [

        'client' => env('REDIS_CLIENT', 'phpredis'),

        'options' => [
            'cluster' => env('REDIS_CLUSTER', 'redis'),
            'prefix' => env('REDIS_PREFIX', Str::slug(env('APP_NAME', 'laravel'), '_').'_database_'),
        ],

        'default' => [
            'url' => env('REDIS_URL'),
            'host' => env('REDIS_HOST', '127.0.0.1'),
            'username' => env('REDIS_USERNAME'),
            'password' => env('REDIS_PASSWORD'),
            'port' => env('REDIS_PORT', '6379'),
            'database' => env('REDIS_DB', '0'),
        ],

        'cache' => [
            'url' => env('REDIS_URL'),
            'host' => env('REDIS_HOST', '127.0.0.1'),
            'username' => env('REDIS_USERNAME'),
            'password' => env('REDIS_PASSWORD'),
            'port' => env('REDIS_PORT', '6379'),
            'database' => env('REDIS_CACHE_DB', '1'),
        ],

    ],

];

config.inc.php in C:xamppphpMyAdmin:

<?php

$cfg['blowfish_secret'] = 'xampp';

$i = 0;

$i++;

/* Authentication type and info */
$cfg['Servers'][$i]['auth_type'] = 'config';
$cfg['Servers'][$i]['user'] = 'root';
$cfg['Servers'][$i]['password'] = '';
$cfg['Servers'][$i]['extension'] = 'mysqli';
$cfg['Servers'][$i]['AllowNoPassword'] = true;
$cfg['Lang'] = '';

/* Bind to the localhost ipv4 address and tcp */
$cfg['Servers'][$i]['host'] = '127.0.0.1';
$cfg['Servers'][$i]['connect_type'] = 'tcp';

/* User for advanced features */
$cfg['Servers'][$i]['controluser'] = 'pma';
$cfg['Servers'][$i]['controlpass'] = '';

/* Advanced phpMyAdmin features */
$cfg['Servers'][$i]['pmadb'] = 'phpmyadmin';
$cfg['Servers'][$i]['bookmarktable'] = 'pma__bookmark';
$cfg['Servers'][$i]['relation'] = 'pma__relation';
$cfg['Servers'][$i]['table_info'] = 'pma__table_info';
$cfg['Servers'][$i]['table_coords'] = 'pma__table_coords';
$cfg['Servers'][$i]['pdf_pages'] = 'pma__pdf_pages';
$cfg['Servers'][$i]['column_info'] = 'pma__column_info';
$cfg['Servers'][$i]['history'] = 'pma__history';
$cfg['Servers'][$i]['designer_coords'] = 'pma__designer_coords';
$cfg['Servers'][$i]['tracking'] = 'pma__tracking';
$cfg['Servers'][$i]['userconfig'] = 'pma__userconfig';
$cfg['Servers'][$i]['recent'] = 'pma__recent';
$cfg['Servers'][$i]['table_uiprefs'] = 'pma__table_uiprefs';
$cfg['Servers'][$i]['users'] = 'pma__users';
$cfg['Servers'][$i]['usergroups'] = 'pma__usergroups';
$cfg['Servers'][$i]['navigationhiding'] = 'pma__navigationhiding';
$cfg['Servers'][$i]['savedsearches'] = 'pma__savedsearches';
$cfg['Servers'][$i]['central_columns'] = 'pma__central_columns';
$cfg['Servers'][$i]['designer_settings'] = 'pma__designer_settings';
$cfg['Servers'][$i]['export_templates'] = 'pma__export_templates';
$cfg['Servers'][$i]['favorite'] = 'pma__favorite';

?>

Sorry for this lengthy documetation, but this stubborn issue has plagued my patience for the entire day. Any form of help will be appreciated. I’ll let you know when the issue has been resolved and the method to solving it. Ask me if you want me to show you my other files too.