Nadat u composer hebt ingeschakeld, kunt u een nieuwe Drupal 8-installatie maken of gebruik maken van een composer.json uit een reeds bestaand project.
Als u het package drupal-composer/drupal-project voor uw project gebruikt, kunt u problemen hebben met de composer zelf. De volgende fout kan optreden:
> scripts/composer/post-install.sh
'scripts' is not recognized as an internal or external command,
operable program or batch file.
Script scripts/composer/post-install.sh handling the post-install-cmd event returned with error code 1
An error has occurred during web site deployment.
Loading composer repositories with package information\r\nInstalling dependencies from lock file\r\nNothing to install or update\r\nGenerating optimized autoload files\r\n> scripts/composer/postinstall.sh\r\n'scripts' is not recognized as an internal or external command,\r\noperable program or batch file.\r\nScript scripts/composer/post-install.sh handling the post-install-cmd event returned with error code 1\r\nD:\Program Files (x86)\SiteExtensions\Kudu\61.60316.2745\bin\Scripts\starter.cmd D:\home\SiteExtensions\ComposerExtension\Hooks\deploy.cmd
De reden hiervoor is dat het gebruikte pakket enkele wijzigingen aanbrengt aan de composer.json en een post install script toevoegt. Dit script werd geschreven voor Unix maar Windows. Dus een verandering in het composer.json bestand om cmd te gebruiken is hier nodig:
"scripts":{"post-install-cmd":"/scripts/composer/post-install.sh"},## Change to ##"scripts":{"post-install-cmd":"bash ./scripts/composer/post-install.cmd"},
Na het wijzigen van het script, moet u (het oorspronkelijke script herschrijven tot commando's die Windows kan lezen).
Nu kunnen we de installatie en/of update van de composer veilig uitvoeren.
Een volgend probleem kan zich voordoen, vooral op de package die in dit voorbeeld werd gebruikt. Wanneer u nu de frontend probeert te bezoeken, zal u 2 foutmeldingen zien:
- U heeft geen toestemming om deze directory of pagina te bekijken.
- De source die u zoekt is verwijderd, van naam veranderd of tijdelijk niet beschikbaar.
Beide berichten zijn er omdat index.php zich niet in de root van het project bevindt. Omdat we de package drupal-composer/drupal-project gebruiken, zit onze index.php in het web/map.
Om het te laten werken, moeten we toegang krijgen tot het Azure portaal en naar de "Applicatie-instellingen" van onze webapp navigeren. Onderaan vindt u "Virtuele toepassingen en directory's" met één invulvakje: