Ich habe hier Unterschiede in der composer.json und in der Ordnerstruktur von Contao 4.4, die ich mir als Nichtentwickler nicht erklären kann.
Lokale Installation XAMPP (Windows 10) mit
Code:
composer create-project contao/standard-edition <ziel>
Installiert wurde Contao 4.4.1
composer.json sieht danach so aus:
Code:
{
"name": "contao/standard-edition",
"type": "project",
"description": "Contao Open Source CMS",
"license": "LGPL-3.0+",
"authors": [
{
"name": "Leo Feyer",
"homepage": "https://github.com/leofeyer"
}
],
"require": {
"php": ">=5.6.0",
"symfony/symfony": "3.3.*",
"symfony/monolog-bundle": "^3.1",
"symfony/swiftmailer-bundle": "^2.3.10",
"sensio/distribution-bundle": "^5.0.19",
"sensio/framework-extra-bundle": "^3.0.2",
"doctrine/doctrine-bundle": "^1.6",
"lexik/maintenance-bundle": "^2.0",
"nelmio/security-bundle": "^2.2",
"php-http/guzzle6-adapter": "^1.1",
"contao/calendar-bundle": "^4.4",
"contao/comments-bundle": "^4.4",
"contao/core-bundle": "^4.4",
"contao/faq-bundle": "^4.4",
"contao/installation-bundle": "^4.4",
"contao/listing-bundle": "^4.4",
"contao/news-bundle": "^4.4",
"contao/newsletter-bundle": "^4.4",
"incenteev/composer-parameter-handler": "^2.0"
},
"conflict": {
"contao/core-bundle": "<4.4.1",
"swiftmailer/swiftmailer": "<5.4.5",
"symfony/swiftmailer-bundle": "2.6.* <2.6.2"
},
"autoload": {
"classmap": [
"app/AppCache.php",
"app/AppKernel.php"
]
},
"config": {
"component-dir": "assets",
"preferred-install": "dist"
},
"extra": {
"incenteev-parameters": {
"file": "app/config/parameters.yml",
"env-map": {
"secret": "CONTAO_RANDOM_SECRET"
}
},
"symfony-app-dir": "app",
"symfony-bin-dir": "bin",
"symfony-var-dir": "var",
"symfony-web-dir": "web",
"symfony-assets-install": "relative"
},
"scripts": {
"setup-scripts": [
"Contao\\CoreBundle\\Composer\\ScriptHandler::generateRandomSecret",
"Incenteev\\ParameterHandler\\ScriptHandler::buildParameters",
"Sensio\\Bundle\\DistributionBundle\\Composer\\ScriptHandler::clearCache",
"Sensio\\Bundle\\DistributionBundle\\Composer\\ScriptHandler::installAssets",
"Contao\\CoreBundle\\Composer\\ScriptHandler::addDirectories",
"Contao\\CoreBundle\\Composer\\ScriptHandler::generateSymlinks"
],
"post-install-cmd": [ "@setup-scripts" ],
"post-update-cmd": [ "@setup-scripts" ]
}
}
Die Ordnerstruktur ist hier zu sehen:
2017_07_16_contao_installation_composer_create.png
Auf dem Server (Webgo) wurde über den Manager installiert (Version 4.4.0 und Update auf 4.4.1)
und die composer.json sieht wie folgt aus:
Code:
{
"name": "contao/managed-edition",
"type": "project",
"description": "Contao Open Source CMS",
"license": "LGPL-3.0+",
"authors": [
{
"name": "Leo Feyer",
"homepage": "https://github.com/leofeyer"
}
],
"require": {
"php": ">=5.6.0",
"contao/calendar-bundle": "^4.4",
"contao/comments-bundle": "^4.4",
"contao/faq-bundle": "^4.4",
"contao/listing-bundle": "^4.4",
"contao/manager-bundle": "4.4.*",
"contao/news-bundle": "^4.4",
"contao/newsletter-bundle": "^4.4",
"do-while/contao-backupdb-bundle": "^1.0",
"jrgregory/m17-sticky-backend-footer": "^2.0",
"terminal42/contao-easy_themes": "^2.2"
},
"conflict": {
"contao/core-bundle": "<4.4.1"
},
"config": {
"component-dir": "assets"
},
"scripts": {
"post-install-cmd": [
"Contao\\ManagerBundle\\Composer\\ScriptHandler::initializeApplication"
],
"post-update-cmd": [
"Contao\\ManagerBundle\\Composer\\ScriptHandler::initializeApplication"
]
}
}
Die Unterschiede durch die auf dem Server zusätzlich installierten Erweiterungen sind klar, aber der Rest macht mich doch ein wenig ratlos zusammen mit der anderen Ordnerstruktur.
2017_07_16_contao_installation_manager.png
Im lokalen Ordner bin liegt die Datei: console. Auf dem Server liegt die inhaltlich gleiche Datei unter vendor/bin mit dem Namen contao-console.
Aufgefallen war mir das bei Versuch lokal mit
Code:
php vendor/bin/contao-console cache:clear -e=prod
den Symfony cache zu leeren.
Instaliere ich lokal manuell, dann ist die composer.json mit der auf dem Server (bis auf die Erweiterungen) identisch. Auch die Ordnerstruktur ist dann wie auf dem Server, d.h. die Konsole liegt unterhalb von vendor/bin. Vielleicht kann mich da mal jemand etwas aufklären.
Lesezeichen