phpmyadmin configuration to quicky login to phpmyadmin as mysql root user, use this only for development server which is not publicly available

copy config.sample.inc.php to config.inc.php

change configuration options at the beginning to:

/*
 * First server
 */
$i++;
/* Authentication type */
$cfg['Servers'][$i]['auth_type'] = 'config';
/* Server parameters */
$cfg['Servers'][$i]['host'] = 'localhost';
$cfg['Servers'][$i]['connect_type'] = 'tcp';
$cfg['Servers'][$i]['compress'] = false;
$cfg['Servers'][$i]['AllowNoPassword'] = true;

$cfg['Servers'][$i]['user'] = 'root';
$cfg['Servers'][$i]['password'] = '';

// do not group tables
$cfg['NavigationTreeEnableGrouping'] = false;

 

run those commands to setup permissions for both apache2 and cli commands,

so you can run cache:clear command or remove app/cache/dev or app/cache/prod directories without subsequent problems with permission denied errors

HTTPDUSER=`ps aux | grep -E '[a]pache|[h]ttpd|[_]www|[w]ww-data|[n]ginx' | grep -v root | head -1 | cut -d\  -f1`
sudo setfacl -R -m u:"$HTTPDUSER":rwX -m u:`whoami`:rwX app/cache app/logs
sudo setfacl -dR -m u:"$HTTPDUSER":rwX -m u:`whoami`:rwX app/cache app/logs

 

 

In PhpStorm: open settings, find Scopes, add new scope, set name for scope

as pattern set:

file:*||file:src*/||file:app*/||file:web*/

after that, when searching “Find in path”, set “Scope” radio button to Custom and in select options find previously created name.

2015-03-05_21-54-32

composer path used in windows environmental variables is:

C:\ProgramData\ComposerSetup\bin

This is default path of composer on windows machine when using windows installer.

Useful to set up PhpStorm command line tool support for composer, you need only paste this to configuration:

C:\ProgramData\ComposerSetup\bin\composer.phar

screenshot: http://screencast.com/t/43dYedLr6y1s

I don’t find that information using google so I think I should post it here.

If u want execute php script via php command in zenbox.pl cron u should add following command:

/usr/local/bin/php /home/lpodolski/domains/lpodolski.com/cron/refreshPage.php >/dev/null 2>&1

In zenbox controll panel this should look like this:

Of course for experienced users this is obvious, but zenbox.pl hosting platform main target are casual users who want to simply host their blog or email. So at first I have expected that standard command would work out of the box

php /home/lpodolski/domains/lpodolski.com/cron/refreshPage.php >/dev/null 2>&1

there is also no feedback that command was not successful, so it take me some time before i realize that this doesnt work

of course u can probably use standard wget url to open URL via CRON but in this case u allow cron executions for everyone:

wget -qO- http://lpodolski.com &> /dev/null

 

In order to have Polish language spell checking In PhpStorm you must generate .dic file with words.

You can do that using linux command:

aspell --lang pl dump master | aspell --lang pl expand | tr ' ' '\n' > polish.dic

You can also download this file generated by me, by clicking: Polish PhpStorm dictionary

Next you go to settings, for single project or you can also set it as default (default setting wouldn’t apply to old procjects). Type in search “Spelling” change tab to “Dictionaries”, click + button to add folder where generated dictionary is placed. Apply. If not working, try to reboot PhpStorm.

How to search key value pair in multidimensional array? In other words search for subset of multidimensional, multilevel array by key and value pair.

This is solution to this problem, notice that in $arr[1] there is multidimensional array, and is also returned in output of search.

<?php

$arr = array(
    0 => array(
        'id' => 0,
        'name' => "cat 1"
    ),
    1 => array(
            array(
                'id' => 1,
                'name' => "cat 1"
            )
    )
,
    2 => array(
        'id' => 2,
        'name' => "cat 2"
    )
);

$arrIterator = new RecursiveIteratorIterator(new RecursiveArrayIterator($arr));

foreach ($arrIterator as $arrIteratorItem) {

    $subArray = $arrIterator->getSubIterator();

    if (isset($subArray['name']) && $subArray['name'] === 'cat 1') {
        $outputArray[] = iterator_to_array($subArray);
    }
}

print_r($outputArray);

output of print_r :

Array
(
    [0] => Array
        (
            [id] => 0
            [name] => cat 1
        )

    [1] => Array
        (
            [id] => 1
            [name] => cat 1
        )

)

BTW as you can see in first code snippet, it do not include closing ?> tag. As you can know closing PHP tag is optional. And if do not necessary you can and should not include it. This is because after closing PHP tag there could be empty white space character that will make problems with sessions. Ie. “headers already send” type of errors.

Sources: