Laravel Composer using the wrong PHP version

I installed WAMP for offline development, then Composer and then Laravel. Everything was OK until I used Composer to download some Laravel package and I got this kind of error:

This package requires php >=7.0.0 but your PHP version (5.6.25) does not satisfy that requirement

Number don’t matter but I needed newer PHP. OK, I changed PHP version on WAMP, restarted it..and Laravel composer gave me the same error!

Long story short, after an hour of googling and trying all the suggested solutions like editing composer.json and this and that, nothing worked!

The solution is simple: reinstall Composer! D’oh!

When you run setup you can select the PHP version you want Composer to use (of course you have to have this PHP version installed on your PC or server) and the Composer will use it from then on:

 

laravel composer php version

After doing this this I was able to install the package. To be honest, I was quite upset that so many people offered some complicated solutions (that didn’t even work for me) on various forums and wasted my time when the solution was so simple.

 

 

 

Cmder displays {lamb} and {git} instead of λ and current dir

I recently installed cmder for Windows and when I ran it it was displaying {lamb} and {git} instead of λ and current dir.

Cmder displays {lamb} and {git} instead of λ and current dir

It came with the 0.4.2 version of Clink , which apparently is incompatible or doesnt work best with Windows 10.

Solution is very simple:

1. Go to https://mridgers.github.io/clink/ and download ZIP version of  Clink (.exe is probably OK too but I downloaded ZIP). The new version I downloaded was 0.4.9.

2.  Go to the cmder_mini/vendor folder (where you installed cmder) and rename clink folder to something like clink_original (or you can delete it if you like but I prefer to backup first if something goes wrong) and recreate a folder named clink  and simply extract all files from the downloaded ZIP to this folder.

3. Close (if you had it open) and restart cmder and this is what you should see:

cmder clink

Prevent Windows from updating/reinstalling a driver

This is for Windows 10 but will probably work on other Windows versions too.

Windows 10 is still relatively new so some vendors (looking at you Lenovo) haven’t updated the drivers. For example in my case I had problems with Conexant driver for Windows 10 – microphone didn’t work in some programs. To make the long story short, I tried everything and the solution was to uninstall the driver and use older version. The problem was, Windows 10 kept reinstalling the latest driver!

The solution was this: Install Microsoft tool that “hides” specific driver form Windows so Windows doesn’t “see” it and doesn’t update/reinstall it.

So:

  1. Uninstall or rollback the problematic driver until you have the one that works.
  2. Download this tool:
    Note: I am linking to Microsoft site and not directly to file download so you can be sure that there isn’t some virus or some malware file on the link.
  3. Click Hide Updates, like on photo below.hide updates windows
  4. You will see a list of drivers. Select the driver you want to hide from Windows update and Windows will not update this driver anymore. Click next, wait and that’s it.

If you want Windows to update the driver again, the run this tool again and select “Show hidden updates” and then remove the hidden driver.

Global variable set in the template’s header.php is empty in footer.php

If you set up a global variable in the header you would expect that it would be available everywhere, right? That is the definition of the word ‘global;, right? Well, it doesn’t work like this and the reason is because in WordPress header and footer are called via functions so the variable is only accessible in scope of each function.

One of the solutions is simple – use global variable before the declaration AND before echoing.

For example, add this to header.php:

<?php global $var; $var= "something"; ?>

and then in the footer.php you do this :

<?php global $var; echo $var; ?>

and it will echo the content of your $var variable.

Be advised though that some people say using global variables is not the best practice.