Skip to main content
 

Comment mettre à jour Mautic à la version 5 ( version "beta" actuellement la seule compatible PHP 8.1 ) ?

**Update**: Après test, la v5 ne supporte pas l'envoi d'email en mode production... autant dire inutilisable.. rollback avec un bon vieux .htaccess pour appliquer php8 que pour le dossier de mautic 4.4 :
```
# Force use php 7.4
7.4 :
<FilesMatch \.php$>
SetHandler application/x-httpd-php74
</FilesMatch>
AddHandler application/x-httpd-php74 .php
suPHP_ConfigPath /my/path/mautic/php.ini
```

**Disclaimer**: Prévoyez bien les backup, il s'agit d'une version "béta" ! ( donc à vos risques )

- Se rendre dans "Configuration" -> "Paramètres système" -> "Update Settings"
- Mettre le niveau de stabilité à "Beta"
- Se rendre en terminal dans le dossier de mautic:
```
php bin/console mautic:update:find
php bin/console mautic:update:apply
php bin/console mautic:update:apply --finish
```
Vous devriez voir ce message: "Bravo ! Vous utilisez maintenant la version 5.0.0-rc2 de Mautic."

Si comme moi, vous êtes bloqué :
- Pour résoudre "An exception occurred while establishing a connection to figure out your platform version.You can circumvent this by setting a 'server_version'" :
- Modifer le `./app/config/local.php` : il faut passer le "db_driver" de "mysqli" à 'pdo_mysql' ( puisqu'il y a un breaking change sous php8.1: https://php.watch/versions/8.1/mysqli-error-mode )
- Pour résoudre "Failed opening required '.../var/cache/prod/doctrine/orm/Proxies/__CG__MauticPluginBundleEntityPlugin.php'"
- Clean le cache: `rm -rf var/cache/prod/* && php bin/console cache:clear --env=prod` puis on applique la màj de finalisation en incluant les modules aussi: `php bin/console mautic:update:apply --finish -p`