Come configurare Neos CMS con Laragon su Windows 11

Configurazione di Neos CMS 9 con Laragon su Windows 11

Nessun file manifest del compositore trovato a ... questo è l'errore che continuo a ricevere quando installo Neos CMS tramite Composer. L'ho descritto in dettaglio nella sezione Errori.

Per risolverlo, l'unica soluzione che ho trovato è stata quella di installare Neos usando Docker invece di Composer. Ho quindi eseguito Docker e il seguente comando:

docker run -v %cd%:/app -it --rm composer create-project neos/neos-base-distribution neos

Dopo di che, ho ricevuto ancora alcuni errori, come spiegato di seguito, ma alla fine ha funzionato.

Se gli errori sono stati risolti e si riesce a vedere la schermata di benvenuto sul browser locale, è possibile eseguire il comando

php flow welcome

Verrà fornito un elenco di comandi da eseguire per configurare l'installazione di Neos.

Ho provato a usare l'interfaccia utente, ma dopo aver inserito la password di configurazione, sono rimasto bloccato su una pagina vuota in setup/login/authenticate e ho rinunciato, passando al terminale.

Ora configuro il database:

php flow setup:database

E inserite i vostri dati, che di solito sono:

  • DB driver: pdo_mysql, ma si può usare anche mysqli
  • Host: 127.0.0.1
  • Database: neos (o il nome usato per creare il database in HeidiSQL)
  • Nome utente: root
  • Password: (lasciare vuoto, basta premere invio, è quella predefinita su Laragon, altrimenti scrivere la password impostata in HeidiSQL)

Ora è il momento del gestore di immagini:

php flow setup:imagehandler

Io sceglierei Imagick , ma potete scegliere GD se preferite.

Se non si ha Imagick, si può scaricare php_imagick.dll da PECL e poi mettere il file nella cartella PHP:

# Aggiungere il file php_imagick.dll qui: C:\Programmi\laragon\bin\p\php-8.1.10-Win32-vs16-x64\ext

Ora assicurarsi che i moduli siano abilitati in Laragon su Menu > Preferenze > PHP > Estensioni.

Infine, provare a ricaricare Laragon.

Se ancora non funziona (è successo anche a me), provare a modificare il php.ini e abilitare Imagick lì:

# C:\Programmi\laragon\bin\php\php-8.1.10-Win32-vs16-x64\php.ini extension=fileinfo extension=gd ;extension=gettext ;extension=gmp extension=intl extension=imagick ;extension=imap ;extension=ldap

Errori

Ecco alcuni errori che ho riscontrato durante l'installazione di Neos, sperando che vi siano utili:

Il sistema non riesce a trovare il percorso specificato

Probabilmente è necessario impostare il percorso corretto per PHP nel file \Configuration\Settings .yaml di Neos.

Ecco un esempio:

Neos: Flow: persistence: backendOptions: driver: pdo_mysql charset: utf8mb4 host: 127.0.0.1 mvc: routes: Neos.Flow: true phpBinaryPathAndFilename: 'C:/Programmi/laragon/bin/php/php-8.1.10-Win32-vs16-x64/php.exe' core: phpBinaryPathAndFilename: 'C:/Programmi/laragon/bin/php/php-8.1.10-Win32-vs16-x64/php.exe'

Alcune informazioni aggiuntive possono essere trovate qui: StackOverflow: Errore 500 nell'installazione di Neos CMS: Percorso specificato non trovato

Nessun file manifest del compositore trovato in "C:/Programs/laragon/www/neos/Packages/C:/Programs/laragon/www/neos/Packages/Application/Neos.Behat/composer.json".

Come si può vedere dal messaggio di errore, per qualche motivo il percorso viene ripetuto due volte. Mi è successo qualcosa di simile in Symfony 5, dove ho trovato una soluzione impostando l'opzione "runtime" in composer.json. Vedere il problema su Github: Symfony [Runtime] Fix for Windows when projects are deploy on junctions/symlinks.

Con Neos non usavo i link simbolici, ma comunque credo che possa essere qualcosa legato a realpath() e a Windows.

Su Neos non riesco a risolvere il problema. L'unica soluzione che ho trovato è stata l'installazione tramite Docker combinata con Composer. L'installazione con il solo Composer mi dà sempre questo errore e non ho ancora idea di come risolverlo.

In pratica ho eseguito il comando:

# Working docker run -v .:/app -it --rm composer create-project neos/neos-base-distribution neos

Invece di:

# solleva un errore composer create-project neos/neos-base-distribution neos

Non chiedetemi perché funziona. In realtà, anche usando Docker ho incontrato altri errori (vedi sotto), ma alla fine sono riuscito a risolverli.

Non è stato possibile pubblicare "C:/Programmi/laragon/www/neos/Packages/Framework/Neos.Flow/Resources/Public" nel target di pubblicazione delle risorse "localWebDirectoryStaticResourcesTarget" perché la directory di origine non poteva essere collegata in symlink alla posizione di destinazione.

Soluzione: aprire un terminale come amministratore ed eseguire il seguente comando:

php flow flow:cache:warmup

Se non è sufficiente, provare a eseguire questi due comandi:

php flow flow:core:compile php flow:cache:warmup

Infine, si può provare a cancellare la cartella Data\Temporary nell'installazione di Neos, quindi eseguire di nuovo i due comandi.

Si sta eseguendo la CLI di Flow con un binario PHP diverso da quello che Flow è configurato per usare internamente.

Flow è in esecuzione con PHP "8.1.10", mentre la versione di PHP che Flow è configurato per utilizzare per le richieste secondarie è "". Assicurarsi di configurare Flow in modo che utilizzi la stessa versione di PHP, impostando l'opzione di configurazione "Neos.Flow.core.phpBinaryPathAndFilename" su un binario PHP-CLI della versione 8.1.10. Eliminare la cache rimuovendo la cartella Data/Temporary prima di eseguire nuovamente Flow/Neos.

Questo è successo a me dopo aver eseguito le configurazioni del database e del gestore di immagini. Naturalmente ho impostato la versione di PHP in Settings.yaml.

Si sta eseguendo Neos/Flow con una versione PHP diversa da quella che Flow è configurato per usare internamente.

Questo messaggio di errore potrebbe apparire subito dopo l'installazione di Neos e anche dopo la configurazione delle impostazioni del database. Non chiedetemi perché.

Provate a eseguire questo comando ogni volta che vedete l'errore.

php flow:core:compile

Dovrebbe risolvere il problema almeno temporaneamente.

The specified path to your PHP binary (see Configuration/Settings.yaml) is incorrect or not a PHP command line (cli) version.

Fondamentalmente è necessario controllare l'opzione phpBinaryPathAndFilename all'interno del file Configuration/Settings.yaml.

Warning: require(/Data/Temporary/Development/Doctrine/Proxies\__CG__NeosFlowSecurityAccount.php): Failed to open stream: No such file or directory in \Packages\Libraries\doctrine\common\src\Proxy\AbstractProxyFactory.php line 197

È probabile che ciò sia dovuto alla necessità di cancellare la cache utilizzando il comando:

./flow flow:cache:flush

Spero che questo vi aiuti a risolvere la maggior parte degli errori che potreste incontrare!

Lascia un commento

I commenti dovranno essere approvati prima della pubblicazione. Potrebbero apparire dopo diverse ore.

Puoi usare un nome casuale, è utile per permettermi almeno di risponderti. Se scegli di lasciare la tua email, potrai ricevere una notifica quando rispondo al tuo commento.

Nessun commento è stato ancora inviato. Inizia la discussione condividendo la tua opinione!

*