Magento 2 – Fix Invalid Indexers and Ensure Cron Job is Running on Mac

admincronmagento2reindex

I have installed Magento2 on my machine, I am using osx yosemite, and on admin panel I am getting

One or more indexers are invalid. Make sure your Magento cron job is running.

I have tried

php bin/magento indexer:reindex

to re index the indexes, and

php bin/magento cron:run

to run cron job, every time I am getting

Magento supports PHP 5.6, 7.0.2, and 7.0.6 or later. Please read http://devdocs.magento.com/guides/v1.0/install-gde/system-requirements.html

But I am using php 5.6.10 on MAMP

Best Answer

To solve this, I have chnaged osx'x php to MAMP's php, by following the Instructions to Change PHP Installation First, Lets find out what version of PHP we're running (To find out if it's the default version).

To do that, Within the terminal, Fire this command:

which php

This should output the path to the default PHP install which comes preinstalled by Mac OS X, by default it has to be (Assuming you've not changed it before):

/usr/bin/php

Now, We just need to swap this over to the PHP that is installed with MAMP, which is located at /Applications/MAMP/bin/php/php5.4.10/bin (MAMP 2.1.3), or your php's version selected in MAMP

To do this, We need to edit the .bash_profile and add the MAMP version of PHP to the PATH variable. Follow these simple steps:

Within the Terminal, run vim ~/.bash_profile

Type i and then paste the following at the top of the file:

export PATH=/Applications/MAMP/bin/php/php5.4.10/bin:$PATH

Hit ESC, Type :wq, and hit Enter

In Terminal, run source ~/.bash_profile

In Terminal, type in which php again and look for the updated string. If everything was successful, It should output the new path to MAMP PHP install.

In case it doesn't output the correct path, try closing the terminal window (exit fully) and open again, it should apply the changes (Restart in short).