Difference between revisions of "Installing Magento 2 Extensions : Troubleshooting"

From Moogento How-to Guides
Jump to navigation Jump to search
(Created page with "__TOC__ ==Magento Help== Something unexpected happened? Try not to worry too much, take a deep breath and read through these common issues and solutions below. Most issues...")
 
m
 
(139 intermediate revisions by 2 users not shown)
Line 1: Line 1:
 +
{{#seo:
 +
|title=Installing Magento 2 Extensions : Troubleshooting your Setup
 +
|title_mode=replace
 +
}}
 +
{{#description2:Troubleshooting installation of Magento 2 extensions. Having issues getting your Magento plugins running? We've got some quick tips to get you on your way.}}
 
__TOC__
 
__TOC__
 
==Magento Help==
 
==Magento Help==
Line 8: Line 13:
 
<div style="clear:both;">&nbsp;</div>
 
<div style="clear:both;">&nbsp;</div>
  
=="I can't see the module in the configuration settings page"==
 
* Try deleting your cache manually. Inside your Magento installation folder, go into {{folder|var}} folder and rename the {{folder|cache}} folder (eg. to {{folder|cache1}}). You can delete that renamed folder if everything works afterwards.
 
* If there is still nothing showing in the configuration page, you may have missed some files. Please repeat the installation of the extension.
 
  
=="I see a white screen / 'Mag registry key' error message / I can't reach the admin page"==
+
==="After install I get 'Fatal error: Uncaught Error: Call to a member function getNext() on null in Interceptor.php'"===
* Double check that compilation is turned off {{menu3|System|Tools|Compilation}}[[File:Compilation_off.png|link=|500px]]
 
* If you can't access that page any more (eg. if you installed without disabling the compiler) you'll need to manually disable compilation.
 
:* If you have shell access, run this from the magento site root:
 
:: <code>$ php shell/compiler.php disable</code>
 
:: You may also need to clear compiled files:
 
:: <code>$ php shell/compiler.php clear</code>
 
:* A quick way to do this, if you don't have shell or database access, is to comment this line in {{folder|/includes/config.php}}, from
 
:: <code>define('COMPILER_INCLUDE_PATH', dirname(__FILE__).DIRECTORY_SEPARATOR.'src');</code>, to
 
:: <code>#define('COMPILER_INCLUDE_PATH', dirname(__FILE__).DIRECTORY_SEPARATOR.'src');</code>
 
:: ''This exact format is important as one of the compilation scripts looks for it.''
 
  
=="I see a blank {{menu|Sales|Orders}} page"==
+
: Check that you've run setup:di:compile, from the Magento root:
* If you're using '''Magemaven OrderComment''' try editing {{folder|Magemaven_OrderComment > config.xml}}
 
::''Change :''
 
<pre>
 
<sales_resource>
 
  <rewrite>
 
    <order_grid_collection>Magemaven_OrderComment_Model_Mysql4_Order_Grid_Collection</order_grid_collection>
 
  </rewrite>
 
</sales_resource>
 
</pre>
 
::''To:''
 
<pre>
 
<adminhtml>
 
  <rewrite>
 
    <sales_order_grid>Magemaven_OrderComment_Block_Adminhtml_Sales_Order_Grid</sales_order_grid>
 
  </rewrite>
 
</adminhtml>
 
</pre>
 
  
 +
:: <code>php bin/magento setup:di:compile</code>
  
=="I get a 404 error in the config page"==
+
: If that doesn't work right away, we can get a bit deeper:
* Log out then log in :)
 
  
=="Action menu options are not appearing"==
+
:: <code>php bin/magento maintenance:enable</code>
''"I've installed pickPack/shipEasy, cleared the cache & logged out, but no Invoice/Packslip/'Change Status' etc. options are showing up in the 'Mass Action' drop down menu on the Orders page."''
 
* You probably have another extension installed that is overwriting that menu.
 
* A classic is a 'delete orders' extension - if that's you, for simplicity consider if you still need the other extension - usually deleting orders is only used in the Magento setup phase, and once live is no longer needed (it's actually illegal in a lot of the world to delete orders/invoices). If this is the case for you then you can turn off that other extension.
 
:''The easiest method is to rename that {{folder|/app/etc/moduleName.xml}} to eg. {{folder|/app/etc/moduleName.xml.off}} and clear the cache.''
 
* If it i something that you need to operate at the same time as pickPack/shipEasy please get in touch with your FTP and Magento access details and we'll work out a solution.
 
  
=="I can't save the config page"==
+
:: <code>rm -rf generated/ var/view_preprocessed/ var/composer_home/cache/ var/cache/ var/page_cache/</code>
If, when you click 'Save', nothing happens, you may have a field empty which needs to have a value in.
 
* Expand all the sections and check for an error message - if the miscreant one is not expanded then you won't be able to see the warning until you expand that section.
 
  
=="Just entered the license key, but it's showing 'Not valid'"==
+
:: <code>php bin/magento setup:upgrade</code>
Make sure that you have:
 
#Cleared the Magento cache
 
#Logged out then in
 
#Cleared your personal browser cache (hold shift and click refresh in the address bar)
 
  
=="Just installed, but I get: Error processing your request / Not found"==
+
:: <code>php bin/magento setup:di:compile</code>
''There has been an error processing your request : Mage registry key x already exists.''
 
  
or:
+
:: <code>php bin/magento setup:static-content:deploy -f</code>
  
''Fatal error: x Not found in …/Layout.php on line x''
+
:: <code>php bin/magento cache:flush</code>
  
#Check that your uploaded file permissions are at least 644.
+
:: <code>php bin/magento maintenance:disable</code>
#Check that you have uploaded all the files (and there wasn't eg. an FTP or network issue midway through the upload).
 
#Check your file and folder permissions - the usual cause of this error is incorrect folder permissions, eg. not being able to read.
 
  
 +
==="After install I get a '500 Internal Server Error' in the browser"===
 +
# Check your server error logs first:
 +
#: Where this is will depend on your server. Here's some common examples:
 +
#: Centos: {{folder|{server root}/var/log/httpd/}}
 +
#: Debian, Ubuntu: {{folder|{server root}/var/log/apache2/}}
 +
#: MAMP: {{folder|{Applications}/MAMP/logs/php_error.log  apache_error.log}}
 +
#: MageMojo: {{folder|/home/log/apache/error.log}}
 +
#: Access eg. via <code>nano /var/log/httpd/apache_error.log</code>
 +
# If the error isn't apparent in those logs, you might have some old static content that needs a tickle:
 +
#:
 +
## Move {{folder|pub/static/.htaccess}} somewhere out of that folder
 +
## Delete {{folder|/pub/static}} : <code>rm -R pub/static</code>
 +
## Run <code>php bin/magento setup:static-content:deploy</code>
 +
## Replace .htaccess in {{folder|pub/static}}
 +
#:
 +
#:Or in one line:
 +
#:
 +
#: <code>php bin/magento maintenance:enable</code>
 +
#:
 +
#:<code>mv pub/static/.htaccess pub/.htaccess</code>
 +
#:
 +
#:<code>rm -R pub/static</code>
 +
#:
 +
#:<code>php bin/magento setup:static-content:deploy</code>
 +
#:
 +
#:<code>mv pub/.htaccess pub/static/.htaccess</code>
 +
#:
 +
#: <code>php bin/magento maintenance:disable</code>
 +
#:
 +
# If that didn't help, you might have some old composer files causing issues.
 +
#:
 +
## Delete {{folder|/vendor}} : <code>rm -R vendor</code>
 +
## Run <code>composer update</code>
  
=="Just installed, but I get 'Your cron is not running' warning at the top of the admin screen"==
 
  
Your Moogento extensions need the Magento cron to run to get all features to work.
+
==="After install I get a fatal error, with 'Unable to retrieve deployment version of static files from the file system' in the reports"===
  
They'll still work without it running, but you'll miss some features.
+
Try running:
  
If you don't want to run the cron, you can disable the warning in the config section, but we recommend running it.
+
<code>php bin/magento setup:static-content:deploy</code>
  
[[File:magento-cron-not-running.png|link=|695px]]
 
  
'''If you see this error in your admin, don't panic!''' All your Moogento extensions will still run, but you'll just be missing out on all features until you get the cron running.
+
==="When entering the license key, it spins and doesn't save"===
 +
* Check that you have the ''openssl_public_encrypt'' PHP function enabled on your server
 +
::''Some dev servers have this off by default''
 +
* Also check the system logs in var/logs
 +
* Finally check your server log files to see what's happening
 +
If those don't resolve the issue, get in touch and we'll check it out.
  
''If you've *just* installed an extension, clear the cache to make sure the new cron tasks are lined up.''
 
  
Not sure what a cron is? It's a regular task run by your server to process pre-planned tasks. Like counting stock, connecting an order from M2Epro with shipEasy, etc.
+
==="After install I get images missing, or a server error: 'Forbidden: PHP is disable.'"===
If you see that message, then your Moogento cron task is 95% likely to not be running. The cause of this are either:
+
# Open {{folder|/pub/static/.htaccess}}
 +
# Prefix the middle lines here with a # (to comment them out):
 +
#:
 +
#: <code><IfModule mod_php5.c&gt;</code>
 +
#: <code>php_flag engine 0</code>
 +
#: <code></IfModule&dt;</code>
 +
#:
 +
#: <code><IfModule mod_php7.c&gt;</code>
 +
#: <code>php_flag engine 0</code>
 +
#: <code></IfModule&dt;</code>
 +
#:
 +
#:
 +
#: So they look like this:
 +
#:
 +
#: <code><IfModule mod_php5.c&gt;</code>
 +
#: <code>#php_flag engine 0</code>
 +
#: <code></IfModule&dt;</code>
 +
#:
 +
#: <code><IfModule mod_php7.c&gt;</code>
 +
#: <code>#php_flag engine 0</code>
 +
#: <code></IfModule&dt;</code>
 +
#:
 +
# Also check the correct [https://moogento.com/guides/Magento_2_Quick_Setup_Check#Check_file.2Ffolder_ownership.2Fpermissions magento file permissions] are set
  
* the Magento cron task is not running at your server, or
+
==="I see an unstyled admin page"===
* there's an issue with one of Magento's 'sub-cron tasks' (each extension may add a few of those) which is holding up the others.
+
Seeing some plainer-than-usual displays?
  
The first one needs to be checked at your server. Depending on your level of server-Fu, you may want to go with this next option first: installing AOE Scheduler.
+
:::[[File:magento-2-admin-unstyled.png|link=|400px]]
  
 +
:::[[File:magento-2-dashboard-unstyled.png|link=|400px]]
  
===Hide the Cron warning message===
+
You might have some older static content that needs re-creating.
If you're sure your cron is running well (see below for helpful tips how to check that), then you can override the check and force-hide the cron warning message.
 
  
Just go to {{menu3|System|Config|Moogento ->Cron Checks}} and set 'Disable cron-running check?' to 'Yes'.
+
Try:
[[File:hide-magento-cron-warning.png|link=|935px]]
+
<code>php bin/magento setup:static-content:deploy -f</code>
  
 +
==="I get this error: 'The following modules are outdated'"===
 +
It might also say '''Moogento_{module} db schema version: defined in codebase - {v1), currently installed - {not v1)'''.
 +
# Load up your Magento database, eg. in phpMyAdmin
 +
# Find the {possible_prefix_}setup_module table
 +
# Find the entry relating to the module mentioned, eg. 'Moogento_Pickpack'
 +
# Delete that entry
 +
# Run <code>bin/magento setup:upgrade</code> to recreate the correct line
  
===Installing AOE Scheduler to check Magento sub-crons===
+
==="When I activate a plugin, I get a 'circular dependency' error in admin"===
'''If you think your Magento cron is running we recommend the excellent [http://www.magentocommerce.com/magento-connect/aoe-scheduler.html AOE Scheduler] to quickly see if your cron is running.
+
If you see this, your install hasn't completed correctly.  
'''
 
  
How to install this? If your MagentoConnect section is available to you (remember that it should usually be restricted-access for security), the easiest way is just to install it there. Just go to the link above, grab the extension key, then go to your System - Magento Connect section, and enter that key. Click install and it should do the work for you.
+
Try this:
  
If you then go back to admin, clear the cache and log out, then come back and check in System, you should see a new option 'Scheduler'.
+
# Check you've registered all your dev & live domains in your Moogento account for the correct key.
 +
# Backup your site files & database
 +
# Enable Maintenance Mode.
 +
# Re-copy all plugin files from the latest version.
 +
# Check there's not multiple admin users logged in.
 +
# Reset the install tag, according to [https://moogento.com/guides/Installing_Magento_2_Extensions_:_Troubleshooting#.22I_get_this_error:_.27The_following_modules_are_outdated.27.22 this method].
 +
# Remove generated files (see [https://devdocs.magento.com/guides/v2.3/howdoi/php/php_clear-dirs.html here] for details):
 +
#: <code>rm -rf generated/metadata/* generated/code/* vendor/* var/cache/* var/generation/* var/view_preprocessed/* var/page_cache/*  pub/static/frontend/* pub/static/adminhtml/* -R</code>
 +
# Update composer (re-generate the /vendor folder):
 +
#: <code>composer update</code>
 +
#: <code>php bin/magento setup:upgrade</code>
 +
# Compile (re-generate files):
 +
#: <code>php bin/magento setup:di:compile</code>
 +
# Set file & folder permissions:
 +
#: <code>find . -type f -exec chmod 644 {} \;</code>
 +
#: <code>find . -type d -exec chmod 755 {} \;</code>
 +
# Check the file ownership. You should have a specific server user (not root) that runs magento.
 +
#: eg. if that user is 'magento_user:
 +
#: <code>chown -R magento_user:magento_user *</code>
 +
# Update Magento db:
 +
#: <code>php bin/magento setup:db-schema:upgrade</code>
 +
# Reindex & clear caches:
 +
#: <code>php bin/magento indexer:reindex</code>
 +
#: <code>php bin/magento cache:clean && php bin/magento cache:flush && php bin/magento cache:enable</code>
 +
# Disable maintenance mode:
 +
#: <code>php bin/magento maintenance:disable</code>
  
Check the timeline sub-section for a quick visual guide to your sub-cron jobs. You should see a sea of green if all is ok.
+
==="Running compile hangs with no errors"===
 +
Part of running Magento 2 stores is running compile (including when installing plugins):
 +
: <code>bin/magento setup:di:compile -vvv</code>
  
:[[File:aoe-scheduler-green-grey-lines.png|link=|570px]]
+
but, sometimes this hangs with no indication what's up.
  
If you see:
+
There's a couple things we can do.
  
* an empty grid
+
* Try with '-vvv' to show more info
* all grey lines
+
: <code>bin/magento setup:di:compile -vvv</code>
* any red lines at all
 
* any orange lines
 
  
then all is not ok down Magento Town, and you'll want to investigate what's up. If you hover over any of the vertical lines, you'll see a report of each cron sub-job, which might help you to track down the problem.
+
* In {{folder|app/bootstrap.php}} around line 11, enable <code>ini_set('display_errors', 1);</code>
 +
then re-run compile.
  
''If AOE Scheduler reports "No heartbeat detected" then it is not running.''
+
==="I get an error like 'Base table or view not found: ''(eg. moogentoshipeasycolumn)'' doesn't exist'"===
  
:[[File:aoe-scheduler-orange-lines.png|link=|570px]]
+
This generally means there's a mismatch in tables in the database.
  
Things to check if you cron is not running:
+
The cause is usually an incomplete install, if you skipped updates over a long time period, and sometimes from trying to use an extension without registering the license key.
  
* Check the file permissions on cron.php (if you're using that file) - try changing to 744
+
The solution is to restart the module install in Magento, by removing the entry from the 'setup_module' table in your db.
* Check your crontab
 
**''If you're using cPanel, there's a specific section for Cron Jobs - have a look in there and check you have a line running cron.php or cron.sh every 5-15 minutes)''
 
**''If you have SSH access, this might work for you: <code>sudo nano crontab -e</code>
 
  
===Setting up Magento cron in cPanel===
+
eg. for M2 stockEasy the line is 'Moogento_Stockeasy'. Just remove that line and re-run the M2 database setup command.
If your server is using cPanel (such as via the excellent [https://www.simpleservers.co.uk/clients/whmcs/aff.php?aff=158 simpleServers]) then it's fairly straightforward to check/add your main Magento cron.
 
  
#Login to your site cPanel
+
# Delete the relevant line from ''setup_module'', eg:
#Make a note of your account path (in the example below it's '''/home/mydomain''')
+
#:[[File:restart-magento-plugin-install.png|link=|400px]]
#:[[File:setting-up-cron-path.png|link=|309px]]
+
# Run the db update command:
#Click '''Cron Jobs''' section:
+
#: <code>php bin/magento setup:upgrade</code>
#:[[File:magento-accessing-cpanel-cron.png|link=|772px]]
 
#Check if your cron is already setup - if it is you'll see a line with a link to cron.php or cron.sh
 
#If it's not setup, adding it is easy. We need to tell the server how often to run our script, and the location of the script file.
 
#:As this is cPanel, it hand-holds us with some useful settings.
 
#In the 'Add a New Cron Job' section, click the 'common settings' dropdown, and choose 'Once per 5 minutes' :
 
#:[[File:cron-every-5-minutes.png|link=|439px]]
 
#It should now look like this:
 
#:[[File:cron-adding-file-path.png|link=|526px]]
 
#We now need to tell the server our script is at. The exact script may be different depending on your server, but you can give this a go:
 
#:<code>php -f /home/mydomain/cron.php</code>
 
#:''Remember to replace '/home/mydomain' with the value you copied from Step 2 above.''
 
#Click the 'Add new cron job' button to create this cron job:
 
#:[[File:magento-cron-setup-complete.png|link=|544px]]
 
#Check that the new task shows up in 'Current Cron Jobs' (at the base of the page):
 
#:[[File:magento-checking-cpanel-current-cron-jobs.png|link=|745px]]
 
#Congratulations, you've now set the main Magento cron to run every 5 minutes.
 
#Go into your Magento cache settings page, and refresh all caches.
 
#Time to put on the kettle.
 
  
 +
{{idea|Removing db entries for the plugins will remove settings related to that plugin}}
 +
: * ''If you have specific settings saved to the plugin that you want to keep, export the relevant tables/entries first''
 +
: * ''After re-install you can then import/replace the relevant entries''
  
=="When I select 200+ orders in the Sales>Orders grid and 'sE ship'/'PDF Packing Sheet'/etc, Magento times out."==
+
'''Suggestions'''
When we process orders with our extensions, we generally need to load the order info for each order into memory.
 
  
When we have all orders in memory then we apply sorts, and process the info, build up PDFs in memory, assign the server to complete other tasks, etc.
+
''These are not required, but to keep the db trim, it can be a good idea.''
  
These all use server resources - primarily memory/cache in the database, and memory to run each process in the server itself.  
+
* If you're restarting the install, removing tables related to the same plugin at the same time can be a good way to get a fresh setup.
 +
: * ''Recent Moogento plugins will usually name the tables like {moogento}_{plugin}_{specific} eg. moogento_stockeasy_columns''
 +
: * eg. SQL: <code>SHOW TABLES LIKE "%moo%"</code>
 +
:: ''^ Don't delete all entries unless you're re-installing *all* moogento modules!''
 +
* Also remove entries from core_config_data
 +
: * ''Recent Moogento plugins will usually name the entries like {moogento or moo}_{plugin}/{specific} eg. moogento_stockeasy/grid_colors''
 +
: * eg. SQL: <code>SELECT * FROM `mg_core_config_data` WHERE `path` LIKE '%moo%' ORDER BY `path` DESC</code>
 +
:: ''^ Don't delete all entries unless you're re-installing *all* moogento modules!''
  
The more orders you try and process, the more server resources you will use, and the longer it will take to process.
+
==="I see empty tables in the plugin config page"===
  
I wouldn't recommend processing more than 200 orders at a time - probably 100 is better, but it does depend on your server setup. If you are getting timeouts, or need to process more orders, then you'll want to assign more memory to the server process running your store, and probably assign bigger database cache & operating space.
+
If you've been updating the module, something might have gone sideways - try restarting the install.
  
You should also check that your process timeout settings are such that they are not shorter than the longest time you're waiting for a process to complete. Eg. if it takes 2 minutes then timeouts, and your server/php/database timeout settings are 2 minutes, then that is probably behind the timeout - try increasing that value for all of them.
+
Just log in to your database (eg. using phpMyAdmin) and find the setup_module table. Search for the line related to the plugin (eg. <code>LIKE %stockeasy%</code>) and delete it, then run the M2 database upgrade:
  
If you're not sure how to do that, please check with your server technician, or your host - depending what tech you're running, this may involve a change to my.cnf and php.ini and well as your server config file(s).
+
<code>php bin/magento setup:upgrade</code>
  
You can also check that you have an opcode cache running, and configured correctly. On recent Magento versions this will be something like zendOptimiser, or APC.  
+
==="I get this error: 'Exception Printing is Disabled by Default for Security Reasons'"===
 +
This means that you're set to hide errors; this is recommended for production sites, but for developing a site it's helpful to see errors.
  
You can also setup a database cache system, like Memcached, to speed up repeated database queries.
+
In {{folder|app/bootstrap/index.php}} and {{folder|/index.php}} set this (uncommented) at the top of the file:
  
It should be possible to process hundreds of orders at the same time, but you'll usually need to make sure your installation is setup as above to achieve that.
+
<code>ini_set('display_errors', 1);</code>
  
As a followup suggestion, try selecting 'thumbnail' as the image source in the pickPack config. This may result in lower filesize in the attached image, and result in subsequently lower memory usage.
+
==="The Moogento license & config sections go blank & I get this error: '(Zend_Http_Exception): Invalid header line detected : Zend_Http_Response::extractHeaders'"===
  
 +
This is a bug in older Magento versions which had issues with http2 responses. Here's the fix (once you're updated to M2.3.3+ you can remove the fix):
  
=="I need to set the Magento demo site notice."==
 
If your dev/staging server isn't on an obvious non-live subdomain (eg. dev./stage./etc.) you'll need to make sure it's showing the Magento demo site notice before we authorise the license for use on that domain.
 
  
Just set {{menu3|System|Configuration|Design -> HTML Head -> Display demo store notice}} to '''''Yes''''' and clear the cache.
+
1. In {{folder|/composer.json}}, add:
  
You should see the message appear at the top of all pages.
+
<code>
 +
composer.json "autoload": {
 +
...
 +
"files": [
 +
...
 +
"lib/Zend/Http/Response.php"
 +
]
 +
}
 +
</code>
  
 +
It'll then look something like this:
  
==[http://www.moogento.com/pickpack pickPack (M1)]:==
+
[[File:magento-composer.png|link=|400px]]
=== "I get an error when printing a PDF"===
 
===="I get an error printing '''any''' PDF"====
 
If you get this error:
 
  
''Fatal error: Declaration of Zend_Pdf_FileParserDataSource_File::__construct() must be compatible with Zend_Pdf_FileParserDataSource::__construct() in Zend_Pdf_FileParserDataSource_File.php''
 
  
This is usually a specific PHP/zendPDF conflict.  
+
2. Copy
  
Try, in {{folder|lib/Zend/Pdf/FileParserDataSource.php}} changing
+
{{folder|vendor/magento/zendframework1/library/Zend/Http/Response.php}}  
  
<code>abstract public function __construct();</code>
+
to
  
to
+
{{folder|lib/Zend/Http/Response.php}}
  
<code>abstract public function __construct($filePath);</code>
 
  
===="I get an error only with pickPack PDFs"====
+
3. In that file, edit these lines:
* If you've uploaded images (eg. for the logo, shipping address label), please check that they all are <span style="text-decoration: underline==>non-interlaced</span>, <span style="text-decoration: underline==>non-transparent</span>, <span style="text-decoration: underline==>.png</span> files.
 
  
 +
[Line 185]
  
===="I get an error when printing, that starts with 'Image is not a PNG'"====
+
<code>if (! preg_match('#^\d|\d(\.\d)*$#', $version)) {</code>
* Your image may have the .png ending, but it's not an actual png format file.  
 
* Re-save the image as a non-interlaced, non-transparent png-8 and you should be fine.
 
* If you're using multiple images, disable all of them until you find the culprit.
 
  
===="I get an error report when printing 'Only non-interlaced images are currently supported'"====
+
[line 517]
# Make sure you're using non-interlaced png files for your logo images.
 
#:* ''If you've uploaded images (eg. for the logo, shipping address label), please check that they all are <span style="text-decoration: underline==>non-interlaced</span>, <span style="text-decoration: underline==>non-transparent</span>, <span style="text-decoration: underline==>.png</span> files.''
 
# Delete the logo images from your config page, save, then try again.
 
# If that worked, then upload a new version of your logo image, making sure that you select non-interlaced.
 
  
====="I get an error 'Cannot create image resource. File not found.'"=====
+
<code>if ($index === 0 && preg_match('#^HTTP/\d(?:\.\d+)* [1-5]\d+#', $line)) {</code>
This sounds like our image caching code is not able to save an optimized image.
 
* Check that your uploaded file permissions are at least 644.
 
* Check the permissions of the /media/Moogento/pickPack folder.
 
  
===="I get this error when making a PDF: 'Temp dir is not good: /tmpTemfdsdfsdfsdfsdfsdfsdfp dir is: /tmp'"====
 
* This error is generated by the Zend Loader, usually around: {{folder|/www/dev/lib/Zend}}}
 
* The error possibly needs an edit inside: {{folder|/lib/Zend/Cache/Backend.php}}
 
* Please contact your host to resolve this one, as the actual change will depend on the server and installed server plugin versions.
 
  
 +
4. Run <code>composer dump-autoload</code>
  
==="I see tofu or strange characters when printing."===
 
You need to provide your PDFs with a suitable font, [[https://moogento.com/guides/pickPack_Setup#Showing_.E4.B8.AD.E5.9B.BD.2F.E6.97.A5.E6.9C.AC.E3.81.AE.2F.ED.95.9C.EA.B5.AD.EC.9D.98.2F.D1.80.D1.83.D1.81.D1.81.D0.BA.D0.B8.D0.B9_in_PDFs see here]] for guidance.
 
  
 +
==="When loading the Orders or Catalog page, I see a 'server error', or 'Attention: Something went wrong', but only with a specific user"===
  
==="I can't open a pickPack CSV with non-Roman characters in (eg. Chinese), in Excel"===
+
#:[[File:magento-grid-load-error.png|link=|200px]]
#Check the Data tab in Excel, where you can choose the type of character encoding that Excel will use.
 
#Choose 'From Text' and then select the type of charset you want to import.
 
:''Eg. if you have Chinese characters in your product names, you can now see them in Excel.''
 
:* Or just use the excellent & free LibreOffice.
 
  
 +
First try logging in as a different user. This error is usually a result of some corruption in the table that records user-specific grid settings (filters, columns etc.), so changing user can get you out of a fix in the short term.
  
==="I get an error when uploading an image (eg. logo)."===
+
For a deeper solution, try clearing the '''ui_bookmark''' table.
If you get an error like this:
 
  
'''''Unable to create directory '/media/moogento/pickpack/logo_pack/default'''''
+
To do this, you need to:
  
or  
+
# Access your database (eg. in cPanel you can click 'phpMyAdmin', then the database you're using for Magento 2)
 +
# Browse that '''ui_bookmark''' table; this is where user-specific filters, column setup, column sorts, are stored
 +
# You'll see user_id as a column - you can either find the specific user id you need to clear, or just clear the lot
 +
# To clear, select all the lines, then click 'Delete'
  
'''''Destination folder is not writable or does not exist'''''
+
After this follow the instructions below on clearing your browser cache.
  
* Check that you are not trying to upload an interlaced image.
+
If you still have issues after this then you'll want to dig in and find the core issue.
* Check that the image doesn't have transparency set.
 
* Try saving a png-8 - zendPDF doesn't work very well with jpegs or gifs.
 
* When saving your images in Photoshop be sure to save it as 'non-interlaced .png format', as per the image upload guidelines in the pickPack Guides and config sections.
 
* If you still get an error, check the folder ownership and permissions of the folder path mentioned in the error message.
 
* Try setting the permissions of {{folder|/media/moogento/pickpack/}} to 774 and see if that helps.
 
* Check the owner of those folders, and that it matches the server group that runs your site. (Ie. the user that runs the admin has access to save files)
 
''- If it does, consider setting the permissions back again after uploading your images.''
 
  
==="After uploading an image (eg. logo), the new version is not showing."===
+
==="When loading the Orders or Catalog page, after an upgrade, some interactive parts don't work"===
Check that you have cleared the image and config caches in {{menu|System|Cache Management}}
+
You've likely got some old javascript files cached locally - check that you've cleared your browser cache.
  
==="The amounts for VAT-registered customers are printing with VAT included."===
+
The easiest way to do this is:
Check that your server is correctly pulling the VAT information... (May help to check SOAP connection to VAT-verifier if used).
 
  
If you have a server-side issue here it may also slow down saving the config page, and even slow down producing PDFs (if your server is using processing cycles to try and connect with something that is not setup).
+
# (In Chrome, similar in Edge, Firefox, Safari) right-click in the page > 'Inspect'.
 +
# Then right-click the url refresh button, and 'Empty Cache & Hard Reload'.
  
  
===Prices show incorrectly===
+
==[https://moogento.com/pickpack-m2 PickPack (M2)]:==
Please check first what numbers are showing in the order detail page. The majority of times when people think pickPack is producing incorrect numbers, it's actually something else.
 
  
''We will always try to show the same numbers that show inside Magento.''
+
==="After install I get a 'Unknown module(s): 'Moogento_PickPack' error"===
 +
If you've just ran:
  
 +
<code>php bin/magento module:enable Moogento_PickPack</code>
  
==="Zebra labels print PPI images incorrect dimensions"===
+
and get that error message, then there's a few things to check:
* Check you're using the correct Photoshop template included in pickPack. We have portrait and landscape versions - check that you're using the correct one.
 
  
 +
# Have you uploaded pickPack files to the repo? :)
 +
# Have you gone through our [https://moogento.com/guides/Installing_Magento_2_Extensions_:_Easy_Install_Guide#Installation Install Guide]?
  
==="My store won't attach PDFs to emails."===
 
For pickPack to connect to your system you need to install the free pickPack Email Attachments extension (available in your downloads section if you have a current-license for pickPack).
 
  
If that's not installed then we're not directly affecting your email process.
+
=== "The admin user is logged out when trying to print PDFs."===
 +
This is a Magento issue, related to [https://github.com/magento/magento2/issues/5309 Github magento2: Issue #5309]
  
{{idea|Make sure you've installed the latest email plugin version, whenever you update pickPack - we regularly change this to integrate with other email plugins.}}
+
Other users have suggested editing the .htaccess or conf file to something like this:
  
If you notice that automated emails (eg. if you've set Magento to email an 'Order Complete' email when status changes to Invoiced) have stopped, but manual emails (eg. clicking 'resend email' inside an Order Detail page) work, then you may have an issue with your cron.
+
<code>php_value session.cookie_lifetime 86400</code>
  
For automated emails, the email is not sent right away but is scheduled for later sending. I would check the database table that corresponds to those emails and you'll probably see a list of emails backed up that haven't processed.
+
<code>php_value session.gc_maxlifetime 86400</code>
  
When you press the 'resend email' button on the order detail page - it doesn't use scheduled send (via cron), but is sent right away.
+
and then setting the ''Admin Session'' timeout to ''86400'' in the admin config..
  
In this case I would install the great [http://www.magentocommerce.com/magento-connect/aoe-scheduler.html AOE Scheduler] to see if you have any cron issues delaying your email processing.
 
  
===="I've added the code, but all I see is the attachment code in the emails."====
+
==="After install I see missing images or strange formatting in the PDF editor"===
We've seen this happen with one store, where they were trying to only include the PDF, and no other text, in the emails.
+
Clear static files as [https://moogento.com/guides/Installing_Magento_2_Extensions_:_Troubleshooting#.22After_install_I_get_a_.27500_Internal_Server_Error.27_in_the_browser.22 above].
  
If you're trying to achieve the same thing, you need to do two things:
 
  
# Include this code at least in the transactional email body:
+
==="I see text links instead of nice images!"===
#: <code><nowiki>{{var order.increment_id}}</nowiki></code>
 
# Modify the attachment code slightly; depending on which PDF you're trying to attach, use either:
 
#: <code><nowiki>{{attach_invoice({{var order.increment_id}})}}</nowiki></code>
 
#: ''or:''
 
#: <code><nowiki>{{attach_packingsheet({{var order.increment_id}})}}</nowiki></code>
 
  
 +
Have you recently cleared {{folder|/pub/static}} ?
  
===="I can't see the email extension in my downloads section."====
+
You're likely missing the {{folder|/pub/static/.htaccess}} file. Just copy that back in (from another install if necessary).
You need to be on a currently valid license key to access that.
 
  
If you're not on a current key, you'll see the plugin greyed out in your Downloads section. The easiest way to get a previously live key valid is to get on a Maintenance Plan, which you can find details of [https://moogento.com/guides/Installing_Magento_Extensions_:_Pre-install_Checklist#Maintenance_Plans here].
+
:::[[File:missing-images-magento-2.png|link=|400px]]
  
(This section needs a typically increased level of support, and we need to constantly edit the email plugin to work with the latest versions of the other email plugins out there.)
+
==="When compiling a plugin, I get: 'Class 'PHPUnit\Framework\TestCase' not found in ... mPDFTest.php'."===
 +
See this issue explained & resolved for one case [https://github.com/magento/magento2/issues/11114 here].
  
 +
====tldr;====
  
==="After updating an old version, I don't see the PDF generation buttons in the Order Detail pages."===
+
=====Are you running Magento < 2.2 ?=====
You need to remove a few deprecated files, see the image below for details (you can also remove those folders if they're empty).
 
:[[File:magento-pdf-buttons.png|link=|454px]]
 
  
 +
Yes! Get in touch, you're a special case :)
  
==="In the CSV exports I see 'custom' instead of the actual shipping carrier."===
+
No? Read on!
You need to [[Installing_Magento_Extensions_:_Troubleshooting#.22In_the_tracking_column.2C_I_see_.27custom.27_instead_of_the_carrier.2C_eg._.27UPS.27.|setup shipEasy carrier matching]]
 
  
==[http://www.moogento.com/pickpack-m2 pickPack (M2)]:==
+
• You need PHPUnit version at least 6.x
=== "The admin user is logged out when trying to print PDFs."===
 
This is a Magento issue, related to [https://github.com/magento/magento2/issues/5309 Github magento2: Issue #5309]
 
 
 
Other users have suggested editing the .htaccess or conf file to something like this:
 
  
<code>php_value session.cookie_lifetime 86400</code>
+
• Install that via composer
  
<code>php_value session.gc_maxlifetime 86400</code>
+
====Installing PHPunit====
  
and then setting the ''Admin Session'' timeout to ''86400'' in the admin config..
+
Try running <code>composer install</code> and/or removing {{folder|/vendor}} folder.
  
==="I have issues printing PDFs."===
+
If you decide to remove that folder then you might use this command, inside your Magento root folder:
If you installed with composer you might want to try making {{folder|vendor/mpdf/mpdf/ttfontdata}} writable.
 
  
=== "I get errors when trying to print PDFs from the Orders page."===
+
<code>rm -rf vendor/*</code>
  
If you're seeing logged errors like this:
+
And then get composer to reinstall those modules:
  
:<code>Got error 'PHP message: PHP Fatal error:  Uncaught Error: Class 'Moogento\PickPack\Helper\Pdf\Attachment'</code>
+
<code>composer update</code>
  
:<code>not found in /var/www/vhosts/ /httpdocs/vendor/magento/framework/ObjectManager/Factory/AbstractFactory.php:111</code>
+
<code>php bin/magento setup:upgrade</code>
  
please check if you're using O-Grid plugin from Amasty.
+
Recompile:
  
If you are:
+
<code>php bin/magento setup:di:compile</code>
# find this file:
 
#:{{folder|app/code/Amasty/Ogrid/Plugin/OrderDataProvider.php}}
 
# go to around line 121
 
# Look for this line:
 
#: <code>$filter->setField('main_table.' . $filter->getField());</code>
 
# Comment that out and add this line instead:
 
#: <code>$filter->setField($filter->getField());</code>
 
# Clear caches and you should be good.
 
  
:[[File:amasty-ogrid-magento-fix.png|link=|908px]]
+
If you still have issues, check that your version is correct:
  
 +
<code>composer show -- phpunit/phpunit</code>
  
==[http://www.moogento.com/shipeasy shipEasy]:==
+
If that's still showing a version less than 6.5, try going into the Moogento_Core and running update:
==="Importing tracking CSV error - 'Folder not writable or does not exist.'"===
 
Your access permissions are not correct for {{folder|var/import}} : either the user/group is not set to permit your Magento running user to access, or your file permissions are not set correctly.
 
  
 +
<code>cd app/code/Moogento/Core</code>
  
==="Scanning Order ID barcodes isn't working."===
+
<code>composer update</code>
For some reason your scanner is not picking up the barcode:
 
* If you're using a cheap barcode scanner, try a pricier one (seriously!).
 
* Laser usually works better than CCD ones.
 
* If you're printing the barcodes with pickPack, you can also try increasing the font size of the barcodes in the {{menuchoice|General}} section. This should space out the lines a bit more and make them easier for lo-res scanners to read.
 
  
==="I get an error when trying to save a logo image."===
+
Also check, if you're running different PHP versions (eg. on local maybe using MAMP and a central PHP version) that you can access phpunit:
If you get an error like this when trying to save a logo image:
 
  
''Unable to create directory {{folder|/media/moogento/pickpack/logo_pack/default}}''
+
<code>phpunit --version</code>
  
this means that the folder has incorrect permissions assigned - your website cannot save to that folder.
+
^ If this returns an error then probably the easiest thing to do is install phpUnit:
In this case, try creating that folder in that path, and if you still have issues try changing permissions on that folder.
 
  
==="I get this error in admin: HEX color needs to be 6 or 3 digits long."===
+
<code>wget https://phar.phpunit.de/phpunit-6.5.phar</code>
You've not [https://www.moogento.com/guides/shipEasy_Advanced_Setup#Set_Row_.27Order_Status.27_Color set the grid colors] correctly.
 
''This could happen during an upgrade from an older version of shipEasy.''
 
Please check that the config sections for grid row colors are set with a 6-character Hex color code.
 
  
==="After install : SQLSTATE: Column not found: Unknown column (eg. 'szy_tracking_number') in 'field list'."===
+
<code>chmod +x phpunit-6.5.phar</code>
==="After install :  Column already exists: 1060 Duplicate column name (eg. 'mkt_order_id')"===
 
This occasionally happens during installation, if there are multiple admin sessions running.
 
# Clear the cache and refresh the page. This often is enough.
 
# If no change, [[#Disabling extensions|disable all]] Moogento extensions, clear cache, then enable each, one by one, clearing cache and checking for errors after each.
 
# If no change, restart installation: in the database -> {possible prefix_}core_resource and delete the line : <code>{module_alias}_setup</code> (eg. moogento_shipeasy_setup for shipEasy).
 
  
==="After install I get this error: Error in file: ...moogento_shipeasy_setup... Syntax error or access violation: 1091 Cant DROP ...; check that column/key exist"===
+
<code>sudo mv phpunit-6.5.phar /usr/local/bin/phpunit</code>
You have probably been installing with multiple admin windows open so several installation processes were started, confusing it.
 
It should resolve itself on cache clear/logout, but try closing all admin windows and logging out/in with just one.
 
  
==="When I change column widths in the config, it doesn't show in the Grid."===
+
And then check again:
First, check that you have shipEasy grid styling turned on:
 
:[[File:magento-grid-styling-shipeasy.png|link=|507px]]
 
:''(We can't edit the column widths if 'Use shipEasy grid styling?' is not set to 'Yes')''
 
  
If you have already set that, then you probably are running another grid editor which is overriding ours. Only one can win this battle!
+
<code>phpunit --version</code>
  
shipEasy coexists with most grid editors, but if two different ones are saying 'Use my styles' only one gets to be boss. And we're not pushy :)
+
If you're running Magento locally, using something like MAMP:
  
==="I've made the column 5px wide but it's showing wider."===
+
1. Copy phpunit into /MAMP/bin/
* You can't make the width smaller than the minimum width the column filter.
 
* You can't make the width smaller than the column title.
 
:''You can try, it won't complain, but it just won't go smaller!''
 
* The column will usually be resized to fit the widest visible entry for that column in the current list of orders displayed.
 
:[[File:column-widths.png|link=|93px]]
 
:''Here the 'sku' column has been auto-widened to show the qty ordered.''
 
* You can set a 'max width' for a few columns to make this sane (eg. product name, order comments)
 
Ideas:
 
* You can set 'Order Date' to show as 'Simple' which will cut down the width used.
 
* You can turn off columns that are not used by your process.
 
* You can move the 'Action' column to the far left; this might save needing to scroll right.
 
* You can use more compact column titles.
 
  
==="When running a conflict-detector with MDN Advanced Stock it reports a conflict."===
+
2. Edit the bash profile:
If you see this conflict reported:
 
''MDN_AdvancedStock_Model_Sales_Order''|''Moogento_ShipEasy_Model_Sales_Order''
 
then we have already worked around it and everything should work fine.
 
  
If you want to remove the conflict warning:
+
<code>nano ~/.bash_profile</code>
*Comment out this line (should be about line 53) in {{folder|/app/code/community/MDN/AdvancedStock/etc/config.xml}}
 
:<code><nowiki><!--<order>MDN_AdvancedStock_Model_Sales_Order</order>--></nowiki></code>
 
  
==="I see some missed shipEasy cron jobs."===
+
then add this after other PATH lines:
shipEasy by default sets its crons jobs to be run every minute. If your cron is setup to run slower than every minute, then you'll get some shipEasy crons jobs piling up and some will register as incomplete.
+
<code>export PATH=/Applications/MAMP/bin/php/php7.1.12/bin:$PATH</code>
  
There's two options:
 
#Set your Magento cron to run every minute, or
 
#Go to {{menu3|System|Config|Moogento > shipEasy > General}} and set the 'Fill columns every..' to minimum the same as your Magento cron period.
 
''Eg. if your Magento cron is set to run every 2 minutes, set the shipEasy cron to plan to run every 2 minutes as well.''
 
  
==="The Grid Column Config section only has one line"===
+
==="The printed date doesn't match the date showing in the Orders page"===
You might see a lack of column options in the config:
 
  
:[[File:shipeasy-config-options-missing.png|link=|500px]]
+
pickPack allows you to choose which date you want to print:
  
This won't stop shipEasy running, and will only be an issue while editing the column setup.
+
* Printed date
 +
* Ordered date
 +
* Invoiced date
 +
* Credited date
 +
* Shipment date
  
Two possible reasons here:
+
Just:
#file permissions set incorrectly (check they are at least set to readable) and
+
# Edit the page you're after
#other extensions using jQuery.
+
# Click the 'Free text' block that you want to add a date to
 +
# Place the cursor in the text field for that block, where you want to add the date
 +
# Click the type of date you want to add
 +
# Save
  
The 2nd one is the most common - these are some of the known conflicting modules:
+
:::[[File:setting-pdf-date-magento2.png|link=|400px]]
* ''Modulesgarden_Teamandtaskorganizer''
 
* ''Rockettheme_TinyMCE''
 
* ''Linksync_Linksynceparcel''
 
* ''Sm_Matrix''
 
  
====Quick fix====
+
* Note you can set the way the date is formatted (eg. '1/2/19', '1st Feb 2019', etc) in the pickPack General config.
'''Since you're unlikely to need to constantly edit the column setup, our current recommendation is just to disable the other extension(s) while you edit the column config.'''
 
::''(This won't affect the layout of the columns after re-enabling the other extension(s) and their javascript.)''
 
  
# Disable the other extension(s)
 
#:'' eg. rename that extension xml file in /app/etc/modules to have a .off suffix (ie. .xml.off)''
 
#::''* If you're not sure which extension is causing the issues, you'll want to do some trial-and-error''
 
#:: ''eg. by disabling all admin 3rd-party modules, and re-enabling until the miscreant is all that remains.''
 
#:::[[File:disabling-extensions.png|link=|500px]]
 
# Clear cache
 
#: ''(may need to log out as well)''
 
# You now should have access to the full column config section, which should look something like this:
 
#::[[File:shipeasy-column-config.png|link=|500px]]
 
# Make changes as needed in the config
 
#: ''Check the Grid result matches the layout that you want''
 
# Re-enable the other jquery-using extension by removing the '.off' and clearing cache
 
# Log out
 
# You should now have ​your other extension working, and the Orders Grid customised by shipEasy.
 
  
* Using Rockettheme_TinyMCE ?
+
==="I'm using Magento 2.2.7 and having email-related errors"===
** this custom timymce script, together with jQuery, can be disabled in {{menu3|System|Configuration|RT ROKMAGE MODULES -> TinyMCE -> General -> Enable Tiny MCE for RokMage Extensions}}
+
==="I get this error: 'Class Zend\Mime\PartFactory does not exist in [Moogento\PickPack\Mail\Template\TransportBuilder\Interceptor]'"===
 +
If you're running a version of Magento less than 2.2.8, there's a quick command you need to run.
  
==="I use ChannelUnity and I'm missing their CSV export button in the Order Grid."===
+
# Run this command in your main Magento install folder:
#Find {{folder|app/code/local/Tradewinds/Channelunity/etc/config.xml}}
+
#:<code>composer require zendframework/zend-mime</code>
#Comment out this code:  
+
# Follow with the usual Magento update commands.
#:<code><adminhtml><rewrite><sales_order>Tradewinds_Channelunity_Block_Adminhtml_Sales_Order</sales_order></rewrite></adminhtml></code>
 
#Refresh the cache, and the button should be back.
 
  
 +
==="I get this error: 'Warning: file_put_contents(/var/tmp/moogento/pickpack/pdf.html): failed to open stream: No such file or directory'"===
 +
You've got some permission or ownership issue with your setup (pickPack can't write its temp files while creating the PDFs).
  
==="I see a blue screen in the Orders Grid, and/or have issues filtering in the same page."===
+
It's time to [https://moogento.com/guides/Magento_2_Quick_Setup_Check#Check_file.2Ffolder_ownership.2Fpermissions check Magento 2 file ownership & permissions].
If you're using the BL_Grid extension as well as shipEasy, you'll want to check that the BL_Grid rewrites are set.
 
  
Normally we set these automatically at the time of installation, but sometimes they don't come across.  
+
==="I get this error: 'Fatal error: Interface 'Magento\Framework\Filter\SimpleDirective\ProcessorInterface' not found'"===
 +
Please upgrade to Magento 2.3.4+
  
In this case please check {{menu3|System|Config|Enhanced Admin Grids -> Base Configuration}} that these have been set:
+
''If you need to run <2.3.4 feel free to get in touch and we can get it working for you.''
  
:[[File:advanced-admin-grid-rewrite-magento.png|link=|680px]]
+
==="I get this error: 'libpng warning: iCCP: known incorrect sRGB profile'"===
 +
==="I get this error: 'libpng warning: Interlace handling should be turned on when using png_read_image'"===
 +
​These are core issues in PHP that are still present in PHP8:
  
Here's a list to make it easier to set:
 
  
<code>adminhtml/report_*</code>
+
​https://github.com/libgd/libgd/issues/295
  
<code>enhancedgrid/catalog_product_grid</code>
+
​https://bugs.php.net/bug.php?id=71316
  
<code>adminhtml/newsletter_subscriber_grid</code>
 
  
<code>adminhtml/newsletter_template_grid</code>
+
The cause is your catalog having some images saved as png format (we recommend jpeg), and then having those images also saved (eg via Photoshop) with a color profile attached, or saved as interlaced format.
  
<code>adminhtml/system_email_template_grid</code>
 
  
<code>adminhtml/sales_order</code>
+
You're likely to encounter other issues elsewhere with these images so our recommendation is to re-process them:
  
<code>moogento_core/adminhtml_sales_order</code>
 
  
<code>moogento_core/adminhtml_sales_order_grid</code>
+
- ideally as jpegs
  
* ''You might not need all of these, depending on your setup.'''
 
  
 +
- or, re-process them with no color profile and not interlaced pngs
  
==="I see nothing in the Orders Grid, apart from the page menubar."===
 
  
Check that in {{menu3|System|Configuration|Advanced -> Advanced}} you've got all Moogento modules enabled.
+
==[https://moogento.com/shipeasy-m2 ShipEasy (M2)]:==
  
If any are set to 'disabled' this won't actually disable the module, but it will stop the output, which will lead to a blank Grid,
+
==="When installing, after running compile on production, I get an error 'The directory /var/generation cannot be deleted'"===
  
:[[File:blank-magento-order-grid.png|link=|680px]]
+
Re-generate static content:
  
==="Using Infortis' UltraMegaMenu I get a javascript error"===
+
<code>php bin/magento setup:static-content:deploy</code>
  
"When adding or editing text to the mega-menu blocks, via 'manage categories' > 'select a category' > 'menu', I get a javascript error."
+
:''If your store isn't in English try this, in this order (eg. here for a French store):''
  
This is related to multiple jquerys being setup to run.
+
:<code>php bin/magento setup:static-content:deploy en_US fr_FR</code>
  
#Open {{folder|/index.php}}
 
#Find <code>Mage::run($mageRunCode, $mageRunType);</code>
 
#Right above that line, add: <code>Mage::register('infortis_admin_jquery', 1);</code>
 
  
==="In the tracking column, I see 'custom' instead of the carrier, eg. 'UPS'.===
+
==="After install I see a spinning wheel in the Orders page which doesn't go away"===
You need to either:
 
* [[shipEasy_Quickstart#Manually_set_carrier_for_specific_orders|manually set the carrier for each order by clicking+selecting the carrier dropdown in the order grid]]
 
*:''or''
 
* [[shipEasy_Quickstart#Setup_Carriers_for_Tracking|setup rules to auto-match the specific carrier tracking formats]]
 
  
 +
Your install may not have completed correctly.
  
==[https://www.moogento.com/stockeasy stockEasy]:==
+
==="When triggering emails (eg. via  Ship & Invoice), we have issues."===
==="Our orders on the Orders Grid are down as 'pending sync'."===
 
[https://www.moogento.com/guides/Installing_Magento_Extensions_:_Pre-install_Checklist#3._Check_your_cron_is_running Check that your cron is setup and running]
 
  
==="We uninstalled stockEasy (installed on wrong site!) and now we can't edit products"===
+
If you're running 2.3.4+, it's stricter when processing templates - check that you don't have incomplete IF clauses in templates.
You need to remove or disable two attributes that stockEasy sets up:
 
  
#Product attribute: '''stockeasy_restock_calculation'''
+
# Try re-running the [https://moogento.com/guides/Installing_Magento_2_Extensions_:_Easy_Install_Guide#4._Run_Install_.26_Setup_Scripts installation compile commands].
#Category attribute: '''stockeasy_restock_calculation'''
+
# Check that your file & folder permissions are correct:
 +
## The '''Magento file system user''' should have full control ('''read/write/execute''') of all files and directories
 +
## That user must not be the same user as the web server user
 +
## The '''web server user''' must have '''write''' access to these files and folders:
 +
##: '''/var app/etc'''
 +
##: '''/pub'''
 +
##: '''/generated''' ''(since 2.2.1)''
 +
## The '''web server user group''' must own the Magento file system so the '''Magento user''' (who's in that group) can share file access with the '''web server user'''.
 +
##: ''(Including files created by the Magento Admin or other web-based utilities)''
 +
#: <code>cd {root Magento folder}</code>
 +
#: <code>find . -type f -exec chmod 644 {} \;</code>
 +
#: <code>find . -type d -exec chmod 755 {} \;</code>
 +
#: <code>find ./var -type d -exec chmod 777 {} \;</code>
 +
#: <code>find ./pub/media -type d -exec chmod 777 {} \;</code>
 +
#: <code>find ./pub/static -type d -exec chmod 777 {} \;</code>
 +
#: <code>chmod 777 ./app/etc</code>
 +
#: <code>chmod 644 ./app/etc/*.xml</code>
 +
#: <code>chown -R :{web server group} .</code>
 +
#: <code>chmod u+x bin/magento</code>
  
==="The 'Grid Column Config' section only has one line"===
+
::: Then clear the caches:
This is a jquery conflict with another extension, please [[#.22The_Grid_Column_Config_section_only_has_one_line.22|see here]] for the fix.
+
::: <code>php bin/magento cache:clean && php bin/magento cache:flush && php bin/magento cache:enable</code>
  
Your 'column edit' section should look like this:
 
:[[File:stockeasy-grid-edits.png|link=|800px]]
 
  
==="I get an error related to stockEasy but don't have it installed."===
+
==="When editing a shipping address from the orders page (by clicking the pencil icon) I get an error."===
If, eg. in product detail page, you see something like this:
+
If you've recently updated, please check you've still got the custom address parts selected in the shipEasy config.
  
''Warning: include(Mage/Moogento/Stockeasy/Model/Adminhtml/System/Config/Source/Restock.php): failed to open stream: No such file or directory''
 
  
then you might have previously installed stockEasy, but not removed the database linkups.
+
==="The Orders page doesn't work correctly with the Amasty 'Extended Order Grid' module installed"===
 +
Aka Amasty_Ogrid.
  
This should solve it for you:
+
Download and install this patch:
# Open DB table "mage_eav_attribute"
 
# Delete attributes where ''frontend_model'', ''backend_model'', or ''attribute_code'' fields contain "stockeasy"
 
  
==="I'm not getting all stock reports emailed to me."===
+
[https://moogento.com/downloads/ShipeasyAmastyOgridCompatible.zip https://moogento.com/downloads/ShipeasyAmastyOgridCompatible.zip]
Check that you're sending authenticated emails - we have a brief [https://moogento.com/guides/Installing_Magento_Extensions_:_Pre-install_Checklist#Check_Magento_emails_are_setup Magento email Guide] which might help.
 
  
==[https://moogento.com/powerlogin powerLogin]==
+
The grid should now load correctly.
==="Since installing powerLogin we have random login issues."===
 
The problem is probably not caused by powerLogin. Check how your domain is configured to work with/without www - eg. maybe 'url with www' is configured as the base url in magento, but you have links that work without 'www'.
 
  
In that case, depending on what url you open next, there could be a cookie set that blocked any future login from another other url. (eg. www vs non-www)
 
Solution: Set the correct cookie domain in your system config and then it should work (you may need to clear cookies for changes to take effect).
 
  
 +
==="After updating I get an error: 'Column with key moo_shipeasy_ordertag_1 does not exist'"===
 +
In ShipEasy Config -> [Orders Page: Columns] find the entry for 'OrderTag: 1'. If the Options box is empty, add some options, eg:
  
==[https://moogento.com/profiteasy profitEasy]==
+
<code>Alert Flag|flag_alert.svg,</code>
==="I see a blue screen in the Orders Grid, and/or have issues filtering in the same page."===
 
Please see the [https://moogento.com/guides/Installing_Magento_Extensions_:_Troubleshooting#.22I_see_a_blue_screen_in_the_Orders_Grid.2C_and.2For_have_issues_filtering_in_the_same_page..22 solution] for shipEasy, it's the same grid conflict that is easily resolved.
 
  
 +
<code>Tick|flag_tick.svg,</code>
  
==="I get a 'Requested Payment Method is not available' on Order Detail pages"===
+
<code>Cross|flag_cross.svg</code>
This is known issue of magento - you cannot open an order page if the payment method becomes 'not available'.
 
  
Eg:
+
Likewise check 'OrderTag: Printed' - if that options box is empty add the default options:
* a payment module has been uninstalled
 
* orders from live site imported into test site, where the test site has different modules
 
* orders imported with M2Epro then used on an install without M2Epro (m2epropayment will be set as the payment method)
 
  
 +
<code>Printed|printed|#f0dba6,</code>
  
==="I see a '$0' value in the Order Grid profit column"===
+
<code>Auto|auto|#f0dba6,</code>
If you also have the error above, this is the same cause - when we try to save profit data in the order it fails as Magento returns an error for the payment method.
 
  
 +
<code>New|new|#e5f3d4</code>
  
==="Our grid doesn't show any profit/loss numbers, it's all zero. When I try to update actual shipping cost and hit update nothing is changed."===
 
This is very likely to be your cron.
 
  
Please check you've refreshed the cache after installing, and generated a new cron schedule.
+
==="After installing ShipEasy some column options are missing and/or the ShipEasy config customise columns table is truncated"===
 +
This sometimes happens if the site wasn't put in maintenance for install, or there were some missing files or some other issues that affected the smooth install.
  
If you're not already using it, I recommend 'AOE Scheduler' - it's a free plugin which will help to troubleshoot Magento cron issues.
+
Execute this SQL and then run the setup:upgrade commands:
  
==Clean==
+
<code>DELETE FROM `patch_list` WHERE (`patch_name` LIKE '%Moogento\\\\Shipeasy\\\\Setup\\\\Patch\\\\Data\\\\PopulateDefaultColumns%');</code>
==="I've installed it but don't see any changes."===
 
Check that you're not running any other admin theme (eg. UE Theme, Bubbles, etc). Since we're a nice extension we submit to other rewrites, so you'll need to disable any other theme to get Clean working.
 
  
 +
This would normally trigger re-adding default columns to the ShipEasy custom column table.
  
==="The 24h dashboard chart is empty."===
 
For the 24h chart to get data, check that in {{menu3|System|Config|System -> Log}} '''Enable Log''' is set to '''Yes''' (not ''Visitors Only'').
 
  
 +
==[https://moogento.com/stockeasy-m2 StockEasy (M2)]:==
  
==="I get some js errors in the backend, like 'Uncaught TypeError: jQuery(...).tooltipster is not a function'"===
+
==="When installing and running update, I get an error 'Uncaught Error: Cannot instantiate interface'"===
  
This is a jQuery conflict with another extension you're running.
+
Try this:
 +
<code>rm -rf var/page_cache var/cache var/composer_home var/generation generated/code generated/metadata var/di var/view_preprocessed/*</code>
 +
<code>redis-cli FLUSHALL</code>
  
Try adding these 2 lines:
+
If you're running redis but that command doesn't show a result, then you should check with your host the correct command to use.
  
<code>Mage::register('jqueryLoaded', 1);</code>
 
  
<code>Mage::register('infortis_admin_jquery', 1);</code>
+
==[https://moogento.com/picknscan-m2 Pick-n-Scan (M2)]:==
  
to index.php before:
+
==="I want to always launch the app in fullscreen"===
 +
Pick-n-Scan has an option in Config to show a 'fullscreen' button, which then shows up in the 'hamburger' menu.
  
<code>Mage::run($mageRunCode, $mageRunType);</code>
+
Once clicked, the app will go fullscreen and you'll have more vertical space.
  
 +
If you'd like to launch this fullscreen - this can make sense for warehouse scanning devices - then you just need to 'save to homescreen' the relevant url.
  
==Drip==
 
==="I'm missing some admin options in the config section."===
 
If you're running pageSpeed on your server, make sure that you've added this line to the pagespeed.conf file:
 
  
<code># Drip config</code>
+
Here's the steps to add the homescreen shortcut on Chrome (other browsers will be similar) on Android (iOS is also similar):
  
<code>pagespeed  Disallow "*edit/section/moogento_drip*";</code>
+
1. Launch "Chrome" app.
  
You need to add those to tell pageSpeed to not strip the html comments that we use to set the config sections.
+
2. Open the URL you want to pin to your home screen (ie. navigate to the scan screen from the Orders page)
  
 +
3. Tap the menu icon (3 dots in upper right-hand corner) and tap 'Add to homescreen'.
  
==slackCommerce==
+
4. You'll be able to enter a name for the shortcut (eg. "Pick-n-Scan") and then Chrome will add it to your home screen.
==="I see an error: 'Unable to read response, or response is empty.'"===
 
Your server can't connect to Slack, please check that your firewalls aren't blocking it, and that you have no SSL cert issues on the server.
 
  
==="Clicking the Test button produces notifications. But, no live notifications come into my Slack channel."===
+
5. Now when launching the url via clicking that new icon, it should launch fullscreen (with no address bar).
Check that your Magento Cron is running correctly. SlackCommerce uses this to process the various triggers and send them off to Slack.
 
  
 
=="I still have issues"==
 
=="I still have issues"==
 +
 +
===Check you're using a supported version of PHP & Magento===
 +
# [https://moogento.com/guides/Magento_2_Quick_Setup_Check#Check_PHP_Version Check which version of PHP your version of Magento supports]
 +
#: ''If you're not running a supported version, pause the install and consider changing your installed PHP version''
 +
# Open up {{folder|{plugin}/composer.json}} and check the PHP & Magento versions that are supported match what you're running
  
 
===Check log files===
 
===Check log files===
# First, check the log files. If you haven't turned on logging do so now. {{menu3|System|Advanced|Developer > Log Settings}}[[File:Magento_loggingo.png|link=|819px]]
+
Your Magento 2 debug log file should be located here:
 +
: '''var/log/debug.log'''
 +
 
 +
If you haven't turned on logging do so now.
 +
 
 +
====Enabling debug logging====
 +
 
 +
'''Via Admin backend'''
 +
: {{menu3|Stores -> Config|Advanced -> Developer | Debug -> "Log to File"}}
 +
 
 +
'''Via CLI'''
 +
: <code>php bin/magento config:set --enable-debug-logging=true && php bin/magento cache:flush</code>
 +
 
 +
: ''If you get a --lock error then try this:''
 +
 
 +
:: <code>php bin/magento config:set --lock --enable-debug-logging=true 1 && php bin/magento cache:flush</code>
 +
 
 +
====Disabling debug logging====
 +
: <code>php bin/magento config:set --enable-debug-logging=false && php bin/magento cache:flush</code>
 +
 
 
#* Try running Magento and then check those log files - the default location is {{folder|/var/log}}
 
#* Try running Magento and then check those log files - the default location is {{folder|/var/log}}
 
#* Add a number to the log filenames to see recent messages only.
 
#* Add a number to the log filenames to see recent messages only.
 
# Next, check your server log files for errors (location will depend on your server - look for php and server log files).
 
# Next, check your server log files for errors (location will depend on your server - look for php and server log files).
 +
 +
===Check file ownership permissions===
 +
If you didn't get this done when setting up Magento, or installed the plugin under a server user that's not the one that owns the Magento files, you might need to check this.
 +
 +
[https://moogento.com/guides/Magento_2_Quick_Setup_Check#Check_file.2Ffolder_ownership.2Fpermissions Check Magento 2 File Ownership and Permissions]
 +
  
 
===Disabling extensions===
 
===Disabling extensions===
# Still problems? Let's turn it off:
+
Still problems? Let's turn it off:
:# Disable the extension by navigating to {{folder|/app/etc/modules}} and renaming your the extension xml file, eg from .xml to .xml_off
+
 
:# Clear the cache (if you can't access your backend cache page, just rename {{folder|/var/cache}} (eg. to {{folder|/var/cache1}}))
+
# Disable the extension :
 +
#: <code>php bin/magento module:disable Moogento_PickPack --clear-static-content</code>
 +
# Disable other Moogento code if you like:
 +
#: <code>php bin/magento module:disable Moogento_License --clear-static-content</code>
 +
#: <code>php bin/magento module:disable Moogento_Core --clear-static-content</code>
 +
#: ^ ''Don't do this step if you want to leave other Moogento plugins running!''
 +
#: *Or*, disable all in one line:
 +
#::<code>php bin/magento module:disable Moogento_Core Moogento_License Moogento_Shipeasy</code>
 +
# Recompile:
 +
#: <code>php bin/magento setup:di:compile</code>
 +
#: Update the db:
 +
#: <code>php bin/magento setup:upgrade</code>
 +
# Clear caches:
 +
#: <code>php bin/magento cache:clean && php bin/magento cache:flush</code>
 +
 
 +
====Removing extensions====
 +
Need to remove all files related to our plugins?
 +
 
 +
{{idea|Don't forget to drop us a line if something is going wrong, as we can usually help :) }}
 +
 
 +
'''Via CLI:'''
 +
# Disable the plugins first, as per above
 +
# Navigate to the Moogento parent folder:
 +
#: <code>cd /app/code/Moogento/</code>
 +
# Check what's there:
 +
#: <code>ls</code>
 +
# Remove the plugin folder:
 +
#: <code>rm -rf {extension name: eg. PickPack}</code>
 +
# Clear cache and indexes and log out/in
 +
 
 +
'''Via FTP:'''
 +
# Disable the plugins first, as per above
 +
# Download the latest version you have access to from your account
 +
# Compare those files and folder structure with what you have installed
 +
# Remove those files, starting with {{folder|/app/code/Moogento/''{plugin name}''}}
 +
# Clear cache and indexes and log out/in
 +
 
 +
'''Then in your DB:'''
 +
# Find the `setup_module` in your db
 +
# Find the entry for the Moogento module(s) you want to remove
 +
# Delete those entries
 +
# Find the `core_config_data` in your db
 +
# Search path for '%LIKE% moogento'
 +
# Select the relevant entries and delete
 +
#: ''^ this will delete your saved config settings for the module(s)''
  
 
==="How long will it take to investigate and fix my issue?"===
 
==="How long will it take to investigate and fix my issue?"===
Line 670: Line 681:
  
 
We can't begin the work (or the ETA timer) until we have correct access details, so please make sure you send correct ones.
 
We can't begin the work (or the ETA timer) until we have correct access details, so please make sure you send correct ones.
 
===="Why is my issue resolution ETA not Right Now???!!!"====
 
Estimates for development work are necessarily vague, it may be faster or slower than the ETA we send you.
 
  
 
It takes time to properly investigate bug reports, and plan feature requests, and we're a small team - we go as fast as we can but please don't expect magical instant development work :)
 
It takes time to properly investigate bug reports, and plan feature requests, and we're a small team - we go as fast as we can but please don't expect magical instant development work :)
Line 684: Line 692:
  
 
If you're worried that you've been hacked and have some unauthorised code, the easiest way to check these specific files is to compare that code with the same file from the extension zip, downloaded from your Moogento account. Note that this code will sometimes change between versions, so make sure you're comparing the same version.
 
If you're worried that you've been hacked and have some unauthorised code, the easiest way to check these specific files is to compare that code with the same file from the extension zip, downloaded from your Moogento account. Note that this code will sometimes change between versions, so make sure you're comparing the same version.
 +
 +
====Having issues opening or unzipping with Windows?====
 +
Using "Windows Defender" and it's blocking a download?
 +
 +
#Click "Internet Options" in the 'All Control Panel Items' window
 +
#Click the "Security" tab
 +
#Click the "Default Level" button (Medium-High)
 +
#Click the "Custom Level…" button
 +
#Scroll down to "Downloads", then click the "Enable" radio button
 +
#Click the "OK" button to save changes
 +
#Click "OK" again to close the 'Internet Options' dialog
 +
 +
Is Windows blocking an unzip?
 +
 +
#Right-click on the file
 +
#Select Properties
 +
#(Make sure you are in the General tab)
 +
#Select the Unblock button
 +
#Click Apply/OK and exit
 +
#The file will be unblocked
 +
 +
Or try this:
 +
#Click to the Windows Security Dashboard
 +
#:[[File:windows-magento-unzip-error-security-dashboard-1.png|link=|600px]]
 +
#Go to 'Virus & threat protection'
 +
#:[[File:windows-firewall-network-protection.png|link=|600px]]
 +
#Click 'Manage settings'
 +
#:[[File:update-windows-virus-settings.png|link=|600px]]
 +
#Disable 'Real-time protection'
 +
#:[[File:disable-realtime-protection-windows.png|link=|600px]]
 +
#You should now be able to unzip the download.
 +
#When complete, don't forget to re-enable this setting.
  
  
 
=="I stilll have issues!"==
 
=="I stilll have issues!"==
* [http://www.moogento.com/contacts Drop us a line] with your (S)FTP and Magento access details and we'll take a look.
+
* [https://moogento.com/contacts Drop us a line] with:
 +
 
 +
# your (S)FTP & SSH access details
 +
# Magento admin access
 +
# which version of Magento
 +
# which PHP version
 +
# which Moogento plugin & version
 +
 
 
: ''Before getting in touch, please:''
 
: ''Before getting in touch, please:''
 
:* ''turn on Magento logging,''  
 
:* ''turn on Magento logging,''  

Latest revision as of 07:18, 25 January 2023


Contents

Magento Help

Something unexpected happened?

Try not to worry too much, take a deep breath and read through these common issues and solutions below.

Most issues have been seen before and are quickly fixable or at least revertible-from.

 


"After install I get 'Fatal error: Uncaught Error: Call to a member function getNext() on null in Interceptor.php'"

Check that you've run setup:di:compile, from the Magento root:
php bin/magento setup:di:compile
If that doesn't work right away, we can get a bit deeper:
php bin/magento maintenance:enable
rm -rf generated/ var/view_preprocessed/ var/composer_home/cache/ var/cache/ var/page_cache/
php bin/magento setup:upgrade
php bin/magento setup:di:compile
php bin/magento setup:static-content:deploy -f
php bin/magento cache:flush
php bin/magento maintenance:disable

"After install I get a '500 Internal Server Error' in the browser"

  1. Check your server error logs first:
    Where this is will depend on your server. Here's some common examples:
    Centos: {server root}/var/log/httpd/
    Debian, Ubuntu: {server root}/var/log/apache2/
    MAMP: {Applications}/MAMP/logs/php_error.log apache_error.log
    MageMojo: /home/log/apache/error.log
    Access eg. via nano /var/log/httpd/apache_error.log
  2. If the error isn't apparent in those logs, you might have some old static content that needs a tickle:
    1. Move pub/static/.htaccess somewhere out of that folder
    2. Delete /pub/static : rm -R pub/static
    3. Run php bin/magento setup:static-content:deploy
    4. Replace .htaccess in pub/static
    Or in one line:
    php bin/magento maintenance:enable
    mv pub/static/.htaccess pub/.htaccess
    rm -R pub/static
    php bin/magento setup:static-content:deploy
    mv pub/.htaccess pub/static/.htaccess
    php bin/magento maintenance:disable
  3. If that didn't help, you might have some old composer files causing issues.
    1. Delete /vendor : rm -R vendor
    2. Run composer update


"After install I get a fatal error, with 'Unable to retrieve deployment version of static files from the file system' in the reports"

Try running:

php bin/magento setup:static-content:deploy


"When entering the license key, it spins and doesn't save"

  • Check that you have the openssl_public_encrypt PHP function enabled on your server
Some dev servers have this off by default
  • Also check the system logs in var/logs
  • Finally check your server log files to see what's happening

If those don't resolve the issue, get in touch and we'll check it out.


"After install I get images missing, or a server error: 'Forbidden: PHP is disable.'"

  1. Open /pub/static/.htaccess
  2. Prefix the middle lines here with a # (to comment them out):
    <IfModule mod_php5.c>
    php_flag engine 0
    </IfModule&dt;
    <IfModule mod_php7.c>
    php_flag engine 0
    </IfModule&dt;
    So they look like this:
    <IfModule mod_php5.c>
    #php_flag engine 0
    </IfModule&dt;
    <IfModule mod_php7.c>
    #php_flag engine 0
    </IfModule&dt;
  3. Also check the correct magento file permissions are set

"I see an unstyled admin page"

Seeing some plainer-than-usual displays?

magento-2-admin-unstyled.png
magento-2-dashboard-unstyled.png

You might have some older static content that needs re-creating.

Try: php bin/magento setup:static-content:deploy -f

"I get this error: 'The following modules are outdated'"

It might also say Moogento_{module} db schema version: defined in codebase - {v1), currently installed - {not v1).

  1. Load up your Magento database, eg. in phpMyAdmin
  2. Find the {possible_prefix_}setup_module table
  3. Find the entry relating to the module mentioned, eg. 'Moogento_Pickpack'
  4. Delete that entry
  5. Run bin/magento setup:upgrade to recreate the correct line

"When I activate a plugin, I get a 'circular dependency' error in admin"

If you see this, your install hasn't completed correctly.

Try this:

  1. Check you've registered all your dev & live domains in your Moogento account for the correct key.
  2. Backup your site files & database
  3. Enable Maintenance Mode.
  4. Re-copy all plugin files from the latest version.
  5. Check there's not multiple admin users logged in.
  6. Reset the install tag, according to this method.
  7. Remove generated files (see here for details):
    rm -rf generated/metadata/* generated/code/* vendor/* var/cache/* var/generation/* var/view_preprocessed/* var/page_cache/* pub/static/frontend/* pub/static/adminhtml/* -R
  8. Update composer (re-generate the /vendor folder):
    composer update
    php bin/magento setup:upgrade
  9. Compile (re-generate files):
    php bin/magento setup:di:compile
  10. Set file & folder permissions:
    find . -type f -exec chmod 644 {} \;
    find . -type d -exec chmod 755 {} \;
  11. Check the file ownership. You should have a specific server user (not root) that runs magento.
    eg. if that user is 'magento_user:
    chown -R magento_user:magento_user *
  12. Update Magento db:
    php bin/magento setup:db-schema:upgrade
  13. Reindex & clear caches:
    php bin/magento indexer:reindex
    php bin/magento cache:clean && php bin/magento cache:flush && php bin/magento cache:enable
  14. Disable maintenance mode:
    php bin/magento maintenance:disable

"Running compile hangs with no errors"

Part of running Magento 2 stores is running compile (including when installing plugins):

bin/magento setup:di:compile -vvv

but, sometimes this hangs with no indication what's up.

There's a couple things we can do.

  • Try with '-vvv' to show more info
bin/magento setup:di:compile -vvv
  • In app/bootstrap.php around line 11, enable ini_set('display_errors', 1);

then re-run compile.

"I get an error like 'Base table or view not found: (eg. moogentoshipeasycolumn) doesn't exist'"

This generally means there's a mismatch in tables in the database.

The cause is usually an incomplete install, if you skipped updates over a long time period, and sometimes from trying to use an extension without registering the license key.

The solution is to restart the module install in Magento, by removing the entry from the 'setup_module' table in your db.

eg. for M2 stockEasy the line is 'Moogento_Stockeasy'. Just remove that line and re-run the M2 database setup command.

  1. Delete the relevant line from setup_module, eg:
    restart-magento-plugin-install.png
  2. Run the db update command:
    php bin/magento setup:upgrade

Removing db entries for the plugins will remove settings related to that plugin

* If you have specific settings saved to the plugin that you want to keep, export the relevant tables/entries first
* After re-install you can then import/replace the relevant entries

Suggestions

These are not required, but to keep the db trim, it can be a good idea.

  • If you're restarting the install, removing tables related to the same plugin at the same time can be a good way to get a fresh setup.
* Recent Moogento plugins will usually name the tables like {moogento}_{plugin}_{specific} eg. moogento_stockeasy_columns
* eg. SQL: SHOW TABLES LIKE "%moo%"
^ Don't delete all entries unless you're re-installing *all* moogento modules!
  • Also remove entries from core_config_data
* Recent Moogento plugins will usually name the entries like {moogento or moo}_{plugin}/{specific} eg. moogento_stockeasy/grid_colors
* eg. SQL: SELECT * FROM `mg_core_config_data` WHERE `path` LIKE '%moo%' ORDER BY `path` DESC
^ Don't delete all entries unless you're re-installing *all* moogento modules!

"I see empty tables in the plugin config page"

If you've been updating the module, something might have gone sideways - try restarting the install.

Just log in to your database (eg. using phpMyAdmin) and find the setup_module table. Search for the line related to the plugin (eg. LIKE %stockeasy%) and delete it, then run the M2 database upgrade:

php bin/magento setup:upgrade

"I get this error: 'Exception Printing is Disabled by Default for Security Reasons'"

This means that you're set to hide errors; this is recommended for production sites, but for developing a site it's helpful to see errors.

In app/bootstrap/index.php and /index.php set this (uncommented) at the top of the file:

ini_set('display_errors', 1);

"The Moogento license & config sections go blank & I get this error: '(Zend_Http_Exception): Invalid header line detected : Zend_Http_Response::extractHeaders'"

This is a bug in older Magento versions which had issues with http2 responses. Here's the fix (once you're updated to M2.3.3+ you can remove the fix):


1. In /composer.json, add:

composer.json "autoload": { ... "files": [ ... "lib/Zend/Http/Response.php" ] }

It'll then look something like this:

magento-composer.png


2. Copy

vendor/magento/zendframework1/library/Zend/Http/Response.php

to

lib/Zend/Http/Response.php


3. In that file, edit these lines:

[Line 185]

if (! preg_match('#^\d|\d(\.\d)*$#', $version)) {

[line 517]

if ($index === 0 && preg_match('#^HTTP/\d(?:\.\d+)* [1-5]\d+#', $line)) {


4. Run composer dump-autoload


"When loading the Orders or Catalog page, I see a 'server error', or 'Attention: Something went wrong', but only with a specific user"

  1. 200px

First try logging in as a different user. This error is usually a result of some corruption in the table that records user-specific grid settings (filters, columns etc.), so changing user can get you out of a fix in the short term.

For a deeper solution, try clearing the ui_bookmark table.

To do this, you need to:

  1. Access your database (eg. in cPanel you can click 'phpMyAdmin', then the database you're using for Magento 2)
  2. Browse that ui_bookmark table; this is where user-specific filters, column setup, column sorts, are stored
  3. You'll see user_id as a column - you can either find the specific user id you need to clear, or just clear the lot
  4. To clear, select all the lines, then click 'Delete'

After this follow the instructions below on clearing your browser cache.

If you still have issues after this then you'll want to dig in and find the core issue.

"When loading the Orders or Catalog page, after an upgrade, some interactive parts don't work"

You've likely got some old javascript files cached locally - check that you've cleared your browser cache.

The easiest way to do this is:

  1. (In Chrome, similar in Edge, Firefox, Safari) right-click in the page > 'Inspect'.
  2. Then right-click the url refresh button, and 'Empty Cache & Hard Reload'.


PickPack (M2):

"After install I get a 'Unknown module(s): 'Moogento_PickPack' error"

If you've just ran:

php bin/magento module:enable Moogento_PickPack

and get that error message, then there's a few things to check:

  1. Have you uploaded pickPack files to the repo? :)
  2. Have you gone through our Install Guide?


"The admin user is logged out when trying to print PDFs."

This is a Magento issue, related to Github magento2: Issue #5309

Other users have suggested editing the .htaccess or conf file to something like this:

php_value session.cookie_lifetime 86400

php_value session.gc_maxlifetime 86400

and then setting the Admin Session timeout to 86400 in the admin config..


"After install I see missing images or strange formatting in the PDF editor"

Clear static files as above.


"I see text links instead of nice images!"

Have you recently cleared /pub/static ?

You're likely missing the /pub/static/.htaccess file. Just copy that back in (from another install if necessary).

missing-images-magento-2.png

"When compiling a plugin, I get: 'Class 'PHPUnit\Framework\TestCase' not found in ... mPDFTest.php'."

See this issue explained & resolved for one case here.

tldr;

Are you running Magento < 2.2 ?

Yes! Get in touch, you're a special case :)

No? Read on!

• You need PHPUnit version at least 6.x

• Install that via composer

Installing PHPunit

Try running composer install and/or removing /vendor folder.

If you decide to remove that folder then you might use this command, inside your Magento root folder:

rm -rf vendor/*

And then get composer to reinstall those modules:

composer update

php bin/magento setup:upgrade

Recompile:

php bin/magento setup:di:compile

If you still have issues, check that your version is correct:

composer show -- phpunit/phpunit

If that's still showing a version less than 6.5, try going into the Moogento_Core and running update:

cd app/code/Moogento/Core

composer update

Also check, if you're running different PHP versions (eg. on local maybe using MAMP and a central PHP version) that you can access phpunit:

phpunit --version

^ If this returns an error then probably the easiest thing to do is install phpUnit:

wget https://phar.phpunit.de/phpunit-6.5.phar

chmod +x phpunit-6.5.phar

sudo mv phpunit-6.5.phar /usr/local/bin/phpunit

And then check again:

phpunit --version

If you're running Magento locally, using something like MAMP:

1. Copy phpunit into /MAMP/bin/

2. Edit the bash profile:

nano ~/.bash_profile

then add this after other PATH lines: export PATH=/Applications/MAMP/bin/php/php7.1.12/bin:$PATH


"The printed date doesn't match the date showing in the Orders page"

pickPack allows you to choose which date you want to print:

  • Printed date
  • Ordered date
  • Invoiced date
  • Credited date
  • Shipment date

Just:

  1. Edit the page you're after
  2. Click the 'Free text' block that you want to add a date to
  3. Place the cursor in the text field for that block, where you want to add the date
  4. Click the type of date you want to add
  5. Save
setting-pdf-date-magento2.png
  • Note you can set the way the date is formatted (eg. '1/2/19', '1st Feb 2019', etc) in the pickPack General config.


"I'm using Magento 2.2.7 and having email-related errors"

"I get this error: 'Class Zend\Mime\PartFactory does not exist in [Moogento\PickPack\Mail\Template\TransportBuilder\Interceptor]'"

If you're running a version of Magento less than 2.2.8, there's a quick command you need to run.

  1. Run this command in your main Magento install folder:
    composer require zendframework/zend-mime
  2. Follow with the usual Magento update commands.

"I get this error: 'Warning: file_put_contents(/var/tmp/moogento/pickpack/pdf.html): failed to open stream: No such file or directory'"

You've got some permission or ownership issue with your setup (pickPack can't write its temp files while creating the PDFs).

It's time to check Magento 2 file ownership & permissions.

"I get this error: 'Fatal error: Interface 'Magento\Framework\Filter\SimpleDirective\ProcessorInterface' not found'"

Please upgrade to Magento 2.3.4+

If you need to run <2.3.4 feel free to get in touch and we can get it working for you.

"I get this error: 'libpng warning: iCCP: known incorrect sRGB profile'"

"I get this error: 'libpng warning: Interlace handling should be turned on when using png_read_image'"

​These are core issues in PHP that are still present in PHP8:


https://github.com/libgd/libgd/issues/295

https://bugs.php.net/bug.php?id=71316


The cause is your catalog having some images saved as png format (we recommend jpeg), and then having those images also saved (eg via Photoshop) with a color profile attached, or saved as interlaced format.


You're likely to encounter other issues elsewhere with these images so our recommendation is to re-process them:


- ideally as jpegs


- or, re-process them with no color profile and not interlaced pngs


ShipEasy (M2):

"When installing, after running compile on production, I get an error 'The directory /var/generation cannot be deleted'"

Re-generate static content:

php bin/magento setup:static-content:deploy

If your store isn't in English try this, in this order (eg. here for a French store):
php bin/magento setup:static-content:deploy en_US fr_FR


"After install I see a spinning wheel in the Orders page which doesn't go away"

Your install may not have completed correctly.

"When triggering emails (eg. via Ship & Invoice), we have issues."

If you're running 2.3.4+, it's stricter when processing templates - check that you don't have incomplete IF clauses in templates.

  1. Try re-running the installation compile commands.
  2. Check that your file & folder permissions are correct:
    1. The Magento file system user should have full control (read/write/execute) of all files and directories
    2. That user must not be the same user as the web server user
    3. The web server user must have write access to these files and folders:
      /var app/etc
      /pub
      /generated (since 2.2.1)
    4. The web server user group must own the Magento file system so the Magento user (who's in that group) can share file access with the web server user.
      (Including files created by the Magento Admin or other web-based utilities)
    cd {root Magento folder}
    find . -type f -exec chmod 644 {} \;
    find . -type d -exec chmod 755 {} \;
    find ./var -type d -exec chmod 777 {} \;
    find ./pub/media -type d -exec chmod 777 {} \;
    find ./pub/static -type d -exec chmod 777 {} \;
    chmod 777 ./app/etc
    chmod 644 ./app/etc/*.xml
    chown -R :{web server group} .
    chmod u+x bin/magento
Then clear the caches:
php bin/magento cache:clean && php bin/magento cache:flush && php bin/magento cache:enable


"When editing a shipping address from the orders page (by clicking the pencil icon) I get an error."

If you've recently updated, please check you've still got the custom address parts selected in the shipEasy config.


"The Orders page doesn't work correctly with the Amasty 'Extended Order Grid' module installed"

Aka Amasty_Ogrid.

Download and install this patch:

https://moogento.com/downloads/ShipeasyAmastyOgridCompatible.zip

The grid should now load correctly.


"After updating I get an error: 'Column with key moo_shipeasy_ordertag_1 does not exist'"

In ShipEasy Config -> [Orders Page: Columns] find the entry for 'OrderTag: 1'. If the Options box is empty, add some options, eg:

Alert Flag|flag_alert.svg,

Tick|flag_tick.svg,

Cross|flag_cross.svg

Likewise check 'OrderTag: Printed' - if that options box is empty add the default options:

Printed|printed|#f0dba6,

Auto|auto|#f0dba6,

New|new|#e5f3d4


"After installing ShipEasy some column options are missing and/or the ShipEasy config customise columns table is truncated"

This sometimes happens if the site wasn't put in maintenance for install, or there were some missing files or some other issues that affected the smooth install.

Execute this SQL and then run the setup:upgrade commands:

DELETE FROM `patch_list` WHERE (`patch_name` LIKE '%Moogento\\\\Shipeasy\\\\Setup\\\\Patch\\\\Data\\\\PopulateDefaultColumns%');

This would normally trigger re-adding default columns to the ShipEasy custom column table.


StockEasy (M2):

"When installing and running update, I get an error 'Uncaught Error: Cannot instantiate interface'"

Try this: rm -rf var/page_cache var/cache var/composer_home var/generation generated/code generated/metadata var/di var/view_preprocessed/* redis-cli FLUSHALL

If you're running redis but that command doesn't show a result, then you should check with your host the correct command to use.


Pick-n-Scan (M2):

"I want to always launch the app in fullscreen"

Pick-n-Scan has an option in Config to show a 'fullscreen' button, which then shows up in the 'hamburger' menu.

Once clicked, the app will go fullscreen and you'll have more vertical space.

If you'd like to launch this fullscreen - this can make sense for warehouse scanning devices - then you just need to 'save to homescreen' the relevant url.


Here's the steps to add the homescreen shortcut on Chrome (other browsers will be similar) on Android (iOS is also similar):

1. Launch "Chrome" app.

2. Open the URL you want to pin to your home screen (ie. navigate to the scan screen from the Orders page)

3. Tap the menu icon (3 dots in upper right-hand corner) and tap 'Add to homescreen'.

4. You'll be able to enter a name for the shortcut (eg. "Pick-n-Scan") and then Chrome will add it to your home screen.

5. Now when launching the url via clicking that new icon, it should launch fullscreen (with no address bar).

"I still have issues"

Check you're using a supported version of PHP & Magento

  1. Check which version of PHP your version of Magento supports
    If you're not running a supported version, pause the install and consider changing your installed PHP version
  2. Open up {plugin}/composer.json and check the PHP & Magento versions that are supported match what you're running

Check log files

Your Magento 2 debug log file should be located here:

var/log/debug.log

If you haven't turned on logging do so now.

Enabling debug logging

Via Admin backend

Stores -> ConfigAdvanced -> Developer Debug -> "Log to File"

Via CLI

php bin/magento config:set --enable-debug-logging=true && php bin/magento cache:flush
If you get a --lock error then try this:
php bin/magento config:set --lock --enable-debug-logging=true 1 && php bin/magento cache:flush

Disabling debug logging

php bin/magento config:set --enable-debug-logging=false && php bin/magento cache:flush
    • Try running Magento and then check those log files - the default location is /var/log
    • Add a number to the log filenames to see recent messages only.
  1. Next, check your server log files for errors (location will depend on your server - look for php and server log files).

Check file ownership permissions

If you didn't get this done when setting up Magento, or installed the plugin under a server user that's not the one that owns the Magento files, you might need to check this.

Check Magento 2 File Ownership and Permissions


Disabling extensions

Still problems? Let's turn it off:

  1. Disable the extension :
    php bin/magento module:disable Moogento_PickPack --clear-static-content
  2. Disable other Moogento code if you like:
    php bin/magento module:disable Moogento_License --clear-static-content
    php bin/magento module:disable Moogento_Core --clear-static-content
    ^ Don't do this step if you want to leave other Moogento plugins running!
    *Or*, disable all in one line:
    php bin/magento module:disable Moogento_Core Moogento_License Moogento_Shipeasy
  3. Recompile:
    php bin/magento setup:di:compile
    Update the db:
    php bin/magento setup:upgrade
  4. Clear caches:
    php bin/magento cache:clean && php bin/magento cache:flush

Removing extensions

Need to remove all files related to our plugins?

Don't forget to drop us a line if something is going wrong, as we can usually help :)

Via CLI:

  1. Disable the plugins first, as per above
  2. Navigate to the Moogento parent folder:
    cd /app/code/Moogento/
  3. Check what's there:
    ls
  4. Remove the plugin folder:
    rm -rf {extension name: eg. PickPack}
  5. Clear cache and indexes and log out/in

Via FTP:

  1. Disable the plugins first, as per above
  2. Download the latest version you have access to from your account
  3. Compare those files and folder structure with what you have installed
  4. Remove those files, starting with /app/code/Moogento/{plugin name}
  5. Clear cache and indexes and log out/in

Then in your DB:

  1. Find the `setup_module` in your db
  2. Find the entry for the Moogento module(s) you want to remove
  3. Delete those entries
  4. Find the `core_config_data` in your db
  5. Search path for '%LIKE% moogento'
  6. Select the relevant entries and delete
    ^ this will delete your saved config settings for the module(s)

"How long will it take to investigate and fix my issue?"

If you've got in touch with a issue or custom work request, we'll get back to you with a rough ETA.

We do all work in the order that they come in, with some sorting based on the Maintenance Plan you're on.

We can't begin the work (or the ETA timer) until we have correct access details, so please make sure you send correct ones.

It takes time to properly investigate bug reports, and plan feature requests, and we're a small team - we go as fast as we can but please don't expect magical instant development work :)

Also worth bearing in mind that we respond to support requests ourselves, so if you email every day for an update then you'll be directly slowing down your issue resolution.

"I found some encrypted portions of code, have I been hacked?"

All our code is open for you to edit.

We do have a couple of small blocks of encrypted code which are part of our licensing system. These need to be left unedited for your extension to work.

If you're worried that you've been hacked and have some unauthorised code, the easiest way to check these specific files is to compare that code with the same file from the extension zip, downloaded from your Moogento account. Note that this code will sometimes change between versions, so make sure you're comparing the same version.

Having issues opening or unzipping with Windows?

Using "Windows Defender" and it's blocking a download?

  1. Click "Internet Options" in the 'All Control Panel Items' window
  2. Click the "Security" tab
  3. Click the "Default Level" button (Medium-High)
  4. Click the "Custom Level…" button
  5. Scroll down to "Downloads", then click the "Enable" radio button
  6. Click the "OK" button to save changes
  7. Click "OK" again to close the 'Internet Options' dialog

Is Windows blocking an unzip?

  1. Right-click on the file
  2. Select Properties
  3. (Make sure you are in the General tab)
  4. Select the Unblock button
  5. Click Apply/OK and exit
  6. The file will be unblocked

Or try this:

  1. Click to the Windows Security Dashboard
    windows-magento-unzip-error-security-dashboard-1.png
  2. Go to 'Virus & threat protection'
    windows-firewall-network-protection.png
  3. Click 'Manage settings'
    update-windows-virus-settings.png
  4. Disable 'Real-time protection'
    disable-realtime-protection-windows.png
  5. You should now be able to unzip the download.
  6. When complete, don't forget to re-enable this setting.


"I stilll have issues!"

  1. your (S)FTP & SSH access details
  2. Magento admin access
  3. which version of Magento
  4. which PHP version
  5. which Moogento plugin & version
Before getting in touch, please:
  • turn on Magento logging,
  • turn off Magento compilation,
  • provide details of any opcode or db cache systems and their logins,
  • provide the path to your server log files
  • include your order id or license key

"How do I give you Magento access?"

Tried all the suggestions above and need us to take a look? Not sure how to do that?

  1. Log into your Magento site
  2. Copy the URL from the browser and add it to your email to us.
  3. Next go to SystemPermissionsUsers > Add New User
  4. Make a username and password and add that to the email to us.
  5. then click User Role in the left column and assign us the role of Administrator.

Done!

"Where do I find the license key?"

We need your order id or license key before we can help with support. Because, you know. :)

  1. Go to SystemConfigurationMoogento -> (the extension you want help with, eg. pickPack)
  2. Click the 'License' section at the top of the page to expand it.
  3. Copy the value from the 'License Key' field.
  4. Paste that in your email that to us.

magento-license-key-finding-copying.png