cancel
Showing results for 
Search instead for 
Did you mean: 

CRON does not run no matter what I do

CRON does not run no matter what I do

I have been trying to get my cron jobs running to re-index, I have followed all the directions on Magento DevDocs to install the crontab and it seems to be there because I can do crontab -l and it shows exactly as it should. 

But my indexers are still showing as needing re-indexing. 

If i try to run the cron from the command line by issuing 

php bin/magento cron:run --group index

 

I get the following:

PHP Warning: PHP Startup: Unable to load dynamic library 'intl' (tried: /usr/lib/php/20170718/intl (/usr/lib/php/20170718/intl: cannot open shared object file: No such file or directory), /usr/lib/php/20170718/intl.so (/usr/lib/php/20170718/intl.so: cannot open shared object file: No such file or directory)) in Unknown on line 0
PHP Fatal error: Class 'IntlDateFormatter' not found in /var/www/vhosts/aksuits.com/httpdocs/magento/vendor/magento/framework/ObjectManager/Factory/AbstractFactory.php on line 116

 

intl extension is enabled

 

Any help would be greatly appreciated. 

 

I am not at all an expert on linux so I would appreciate an answer without the typical linux jargon 

Here is the result of crontab -l

#~ MAGENTO START 3e5fb155730c63342c0a15aaf690c858
* * * * * /usr/bin/php7.2 /var/www/vhosts/aksuits.com/httpdocs/magento/bin/magento cron:run | grep -v "Ran jobs by schedule" >> /var/www/vhosts/aksuits.com/httpdocs/magento/var/log/magento.cron.log
* * * * * /usr/bin/php7.2 /var/www/vhosts/aksuits.com/httpdocs/magento/update/cron.php >> /var/www/vhosts/aksuits.com/httpdocs/magento/var/log/update.cron.log
* * * * * /usr/bin/php7.2 /var/www/vhosts/aksuits.com/httpdocs/magento/bin/magento setup:cron:run >> /var/www/vhosts/aksuits.com/httpdocs/magento/var/log/setup.cron.log
#~ MAGENTO END 3e5fb155730c63342c0a15aaf690c858


11 REPLIES 11

Re: CRON does not run no matter what I do

@catalyst00You may have multiple issue. As you were able to install and use the Magento then possibility is that you already have intl module. Question would be do you have multiple version of PHP installed on the server?

 

Please run "which php" command on the linux command prompt to find the version your command line is using. If you PHP is same for command line and Web then you need to look into why intl module is not loaded. This can be confirm by looking into PHP loaded modules.

 

Another thing need to look into is your indexer are set on Save or on Schedule? This can be verified by looking in the GUI in Magento admin.

 

You can also run below command to reindex manually until you figure the issue with the cron.

 

$ php bin/magento indexer:reindex

Problem solved? Please give 'Kudos' and accept 'Answer as Solution'.

 

- Tarandeep
Problem solved?Please give 'Kudos' and accept 'Answer as Solution'.

Re: CRON does not run no matter what I do

Hello Tarandeep: 

 

Thanks for your response.
which php  results in /usr/bin/php  

However, I know I had to select php 7.2.16 in order for me to install magento 2.3. 
And when I installed the crontab, the php path was /usr/bin/php7.2

All of my indexers are set to be indexed on schedule. 

This is what I got when I tried the manual reindex


php bin/magento indexer:reindex
PHP Warning: PHP Startup: Unable to load dynamic library 'intl' (tried: /usr/lib/php/20170718/intl (/usr/lib/php/20170718/intl: cannot open shared object file: No such file or directory), /usr/lib/php/20170718/intl.so (/usr/lib/php/20170718/intl.so: cannot open shared object file: No such file or directory)) in Unknown on line 0
Design Config Grid index has been rebuilt successfully in 00:00:00
PHP Fatal error: Uncaught Error: Class 'Locale' not found in /var/www/vhosts/aksuits.com/httpdocs/magento/vendor/magento/framework/Locale/Bundle/DataBundle.php:64
Stack trace:
#0 /var/www/vhosts/aksuits.com/httpdocs/magento/vendor/magento/framework/Locale/Bundle/DataBundle.php(28): Magento\Framework\Locale\Bundle\DataBundle->cleanLocale('en_US')
#1 /var/www/vhosts/aksuits.com/httpdocs/magento/vendor/magento/framework/Setup/Lists.php(92): Magento\Framework\Locale\Bundle\DataBundle->get('en_US')
#2 /var/www/vhosts/aksuits.com/httpdocs/magento/vendor/magento/framework/Validator/Locale.php(42): Magento\Framework\Setup\Lists->getLocaleList()
#3 /var/www/vhosts/aksuits.com/httpdocs/magento/vendor/magento/module-backend/Model/Locale/Resolver.php(72): Magento\Framework\Validator\Locale->isValid(NULL)
#4 /var/www/vhosts/aksuits.com/httpdocs/magento/vendor/magento/framework/Locale/Resolver.php(70): Magento\Backend\Model\Locale\Resolver->setLocale(NULL)
#5 /var/www/vhosts/aksuits.com/httpdocs/magento/vendor/magento/module-backend/Model/ in /var/www/vhosts/aksuits.com/httpdocs/magento/vendor/magento/framework/Locale/Bundle/DataBundle.php on line 64

Re: CRON does not run no matter what I do

Hi @catalyst00 

 

Here are few things you need to check.

 

1) Check that extension=php_intl.dll is enabled in your php.ini file
2) If not enabled, change ;extension=php_intl.dll to extension=php_intl.dll in php.ini
3) After that you may need to restart Apache services. For that you can run this command.

sudo service apache2 restart restart

I hope it will help you. OR please check this link might help you.

 

Thanks

 

--

if issue solved and help ,Click Kudos & Accept as Solution

 

 

 

Re: CRON does not run no matter what I do

@catalyst00

 

Definitely there is an issue with 'intl' module. Either not installed or possibly installed but not enabled. Not sure if you have a hosting provider who can help you with the same. If you do would recommend to connect with them and get the issue fixed.

 

To test by yourself you can create a php file and have below code to see if intl is installed and enabled.

 

<?php 
echo "INTL Module: ", extension_loaded('intl') ? 'Enabled' : 'MISSING', '<br>';
?>

Problem solved? Please give 'Kudos' and accept 'Answer as Solution'.

- Tarandeep
Problem solved?Please give 'Kudos' and accept 'Answer as Solution'.

Re: CRON does not run no matter what I do

Hello Tarandeep;

 

The result of running the echo intl is  INTL Module: Enabled

By the way I am running my own server, so I have full access to the server. I am not sure what can be the problem, as I have checked all .ini files and intl is loaded and enabled but I am still getting that error. 

 

Re: CRON does not run no matter what I do

Hello Tarandeep; 

Will you be willing to work on this with me to get this Magento installation fixed, if so please tell me what do you charge?

 

Please give me a quote as to how long it will take and what your hourly rate would be? I need to have this working fairly quickly, and I need to install CODISTO LINQ as well which also seems to be running into the same issue.

Re: CRON does not run no matter what I do

Hello Pankaj


By the way this is a linux installation so there are no .dll files, however, the extension intl is enabled.

And I have checked all the .ini files to make sure all mention of intl extensions are enabled. 

 

Re: CRON does not run no matter what I do

@catalyst00Let's try this one more time. Possibly resolve the issue.

 

Do you have another php.ini in /etc/php/7.2/cli/php.ini? If you do does can you look for intl  module is enabled or not?

 

Problem solved? Please give 'Kudos' and accept 'Answer as Solution'.

- Tarandeep
Problem solved?Please give 'Kudos' and accept 'Answer as Solution'.

Re: CRON does not run no matter what I do

@catalyst00Did you try the command without "." between 7.2? Something like below:

 

/usr/bin/php72 indexer:reindex

 

Problem solved? Please give 'Kudos' and accept 'Answer as Solution'.

- Tarandeep
Problem solved?Please give 'Kudos' and accept 'Answer as Solution'.