Sunday, August 11, 2019

mysqli_real_connect(): (HY000/1130): Host 'localhost' is not allowed to connect to this MariaDB server

mysqli_real_connect(): (HY000/1130): Host 'localhost' is not allowed to connect to this MariaDB server

after fresh install of windows and install xampp I had problems with mysql

to fix connection I added row
skip-grant-tables
into [mysqld] section in my.ini file for mysql

it fixed connection issue, but were problems with privileges
something like:
Table 'user' is marked as crashed and should be repaired

so, to fix it. need to add this line
skip-grant-tables
into my.ini (and restart mysql)

then go to mysql (I used phpmyadmin) and execute commands:
USE mysql;
CHECK TABLE user;
REPAIR TABLE user;

it fixed privileges tables.
after this you can remove line
skip-grant-tables
from config file and reload mysql server.

source article:
https://forum.laragon.org/topic/801/host-localhost-is-not-allowed-to-connect-to-this-mariadb-server/6

Magento 2.3 does not work properly on localhost xampp on wondows

source from

https://magento.stackexchange.com/questions/251926/magento-2-3-its-not-working-properly-in-localhost
https://github.com/magento/magento2/issues/19480#issue-386162790

solution:

#/vendor/magento/framework/View/Element/Template/File/Validator.php:139

foreach ($directories as $directory) {
    // Add this line
    $realDirectory = $this->fileDriver->getRealPath($directory);

// this is fix
    $realPath = str_replace('\\', '/', $realPath);

    // and replace `$directory` with `$realDirectory`
    if (0 === strpos($realPath, $realDirectory)) {
        return true;
    }
}


///////////////
also try to redeploy content, like
php -f bin/magento setup:static-content:deploy

Tuesday, December 19, 2017

Magento 2 - install extension via composer shows memory limit error

Problem:

In Magento 2, when trying to install 3rd party extension via composer, like:
composer require vendor_name/module_name

server shows memory allocated error, like PHP Fatal error: Allowed memory size of xxxxx bytes exhausted

problem was that server is configured to php70 and even increase of memory in pgp.ini does not help,

Solution:
there is ability to run composer command via php, like:
php70 composer.phar require vendor_name/module_name

If it will say something like: could not open input file composer.phar
it means that it is not installed or something, so try to install it by command
curl -sS https://getcomposer.org/installer | php
it will place composer.phar file right in curent folder
after this, you can try to execute command like:

php composer.phar require vendor_name/module_name
to change memory limit execute like
php -d memory_limit=2G composer.phar require vendor/module

also, try to skip requirements like
composer require vendor/module --ignore-platform-reqs


Friday, September 22, 2017

Magento 1: How to override Paypal Model in your custom module

Task: Need to overrite magento paypal model method in your custom module

Solution:
For example, need to override /app/code/core/Mage/Paypal/Model/Config.php  method getBuildNotationCode

Create model in your extantion

app/code/local/YourFirm/ExtName/Model/Paypal/Config.php

code:

class YourFirm_ExtName_Model_Paypal_Config extends Mage_Paypal_Model_Config
{
    public function getBuildNotationCode($countryCode = null)
    {
        ... your code here....
       // if you need, you could run base function, use: parent::getBuildNotationCode($countryCode);
    }
}


open confix.xml in your extantion
/app/code/local/YourFirm/ExtName/etc/config.xml

and add next code in global section:

and add next code in global section:
    <global>
        <models>
            <paypal>
             <rewrite>
              <config>YourFirm_ExtName_Model_Paypal_Config</config>
             </rewrite>
            </paypal>            
        </models>
    </global>

           
           
                  

how to make redirect in .htaccess for url with specific symbols


The problem was to redirect wrong CodeIgniter url with %C2%A0 symbols to another pahe in .htaccess

For example
http://mysite.com/some-page%C2%A0
to
http://mysite.com/other-page


Redirect   301    /some-page%C2%A0     /other-page   does not work

Here I had found some solution:

RewriteCond   %{THE_REQUEST}   ^[A-Z]+\ /[^%?\ ]*\%
RewriteRule    ^. http://www.example.com/     [R=301,L]

This rule redirects all matches with %.. symbols

So I had tried next:

RewriteCond   %{THE_REQUEST}   some-page[^%?\ ]*\%
RewriteRule   ^.    /other-page [R=301,L]

But after testing, it adds to now url an old url as parameters
As the results I had something like this:

http://mysite.com/index.php/other-page?/some-page/&... etc

So, after some googling I have found this

So I had changed

RewriteRule   ^.   /other-page [R=301,L]
to
RewriteRule   .?   /other-page$1? [R=301,L]


So, to make 301 redirect from broken url with % symbols need to do something like this:

RewriteCond   %{THE_REQUEST}   some-page[^%?\ ]*\%
RewriteRule   .?  /other-page$1? [R=301,L]

How to clean clean github repository

Step 1: remove all history

rm -rf .git

Step 2: reconstruct the Git repo with only the current content

git init
git add .
git commit -m "Initial commit"

Step 3: push to GitHub.

git remote add origin <github-uri>
git push -u --force origin master


https://stackoverflow.com/questions/9683279/make-the-current-commit-the-only-initial-commit-in-a-git-repository

Partial text Replace in MySQL UPDATE - example

How to make partial text Replace in MySQL UPDATE

example:

UPDATE `my_table` SET `field` = REPLACE(`field`, 'old_text', 'new_text') WHERE ... condition ...

Restore xampp database from backup

steps: stop mysql xampp 1 - create some backup folder "data_1"  2 - from your current xampp/mysql/data folder move core folders an...