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
@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'.
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
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
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'.
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.
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.
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.
@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'.
@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'.