Feel free to move/remove if this is not appropriate.
I wonder if we could aggregate some troubleshooting steps and sticky to the top of the support thread? Searching the forum for issues that are identical to what you may be facing is often met with some variables that make the process a bit more tedious than it has to be. I think we can improve the effectiveness of the forum, and increase the satisfaction of Mautic users as well. Lots of us spend time trying to answer the posts but I think we can all agree a high percentage are lack of searching and/or repetitive.
Ill go first:
-Step One: Clear Cache via CLI using cache:clear
-Step Two: Ensure permissions are properly set (thanks @mikew for this ----> )
chown -u www-data:www-data (on the whole Mautic directory)
-Step Three: Verify php.ini has appropriate maximums set for memory, execution time, and that a time zone is set.
-Step Four: open mautic/app/config/local.php and turn debugging on (line 120 in local.php)
'debug' => true,
-Step Five: set db driver to pdo_mysql by editing line 3 of local.php like so
'db_driver' => 'pdo_mysql'
-Step Six run php -v to ensure proper PHP version. On most servers there are 2 versions of PHP and CLI PHP
@joeyk has covered cron jobs extensively ( Insert link to Joey’s great work here)
Campaign emails not sending? - run mautic:segments:update --list-id# <–enter segment that corresponds to segment of campaign
Then run mautic:campaigns:update -f -vvv to sync segment members to campaign actions
Then run mautic:campaigns:trigger -f -vvv to run campaigns
If you are using queue then run swiftmailer:spool:send
-Segment Emails not sending?
Ensure a publish date is set then run mautic:broadcasts:send --channel=email –id=#
if you are using queue then run swiftmailer:spool:send
-Texts not sending?
-c, --channel[=CHANNEL] Channel to use for sending messages i.e. email, sms.
-i, --channel-id=CHANNEL-ID The ID of the message i.e. email ID, sms ID.
-m, --message-id=MESSAGE-ID ID of a specific queued message
–bypass-locking Bypass locking.
-t, --timeout=TIMEOUT If getmypid() is disabled on this system, lock files will be used. This option will assume the process is dead after the specified number of seconds and will execute anyway. This is disabled by default.
-x, --lock_mode=LOCK_MODE Allowed value are “pid” or “flock”. By default, lock will try with pid, if not available will use file system [default: “pid”]
-f, --force Deprecated; use --bypass-locking instead.
-h, --help Display this help message
-q, --quiet Do not output any message
-V, --version Display this application version
–ansi Force ANSI output
–no-ansi Disable ANSI output
-n, --no-interaction Do not ask any interactive question
-e, --env=ENV The Environment name. [default: “prod”]
–no-debug Switches off debug mode.
-v|vv|vvv, --verbose Increase the verbosity of messages: 1 for normal output, 2 for more verbose output and 3 for debug
-Database Issues (BACKUP YOUR DATABASE FIRST)
Run the doctrine:schema:update --force then clear your cache using cache:clear
Tip: Open browser -Right click - Inspect page. Leave those open while you test. Look for errors.
-Will Update More Later-
Please post your suggestions and comments.