composer

TYPO3 Composer-Installation schlägt auf Plesk fehl

caticonslite_bm_alt

In der Datei „composer.json“ von TYPO3 is für „post-autoload-dump“ ein Script definiert:

"scripts":{
   "typo3-cms-scripts": [
      "typo3cms install:fixfolderstructure",
      "typo3cms install:generatepackagestates"
   ],
   "post-autoload-dump": [
      "@typo3-cms-scripts"
   ]
}

Dieses Script wird nach jeder Generierung der Autoload-Information ausgeführt, z.B. beim „composer install“ oder „composer dump-autoload“. Erfüllt der Standard-PHP-Interpreter auf dem Command Line Interface (CLI) nicht die Versionsvoraussetzungen von TYPO3, so schlägt die Ausführung von z.B. „/opt/plesk/php/7.2/bin/php composer.phar install“ mit folgender bzw. einer ähnlichen Fehlermeldung fehl:

PHP Warning:  Unsupported declare 'strict_types' in /var/www/vhosts/webentwickler.at/httpdocs/vendor/helhum/typo3-console/Scripts/typo3-console.php on line 2
PHP Parse error:  syntax error, unexpected '(' in /var/www/vhosts/webentwickler.at/httpdocs/vendor/helhum/typo3-console/Scripts/typo3-console.php on line 32
Script typo3cms install:fixfolderstructure handling the typo3-cms-scripts event returned with error code 255
Script @typo3-cms-scripts was called via post-autoload-dump

Der Fehler kann behoben werden, indem bei den Scripts der zu verwendende PHP-Interpreter und der Pfad zum Binary-Verzeichnis von Composer ergänzt werden:

"scripts":{
   "typo3-cms-scripts": [
      "/opt/plesk/php/7.2/bin/php /var/www/vhosts/webentwickler.at/httpdocs/vendor/bin/typo3cms install:fixfolderstructure",
      "/opt/plesk/php/7.2/bin/php /var/www/vhosts/webentwickler.at/httpdocs/vendor/bin/typo3cms install:generatepackagestates"
   ],
   "post-autoload-dump": [
      "@typo3-cms-scripts"
   ]
}

Anschließend können „composer install“ oder „composer dump-autoload“ ausgeführt werden.

TYPO3 Flow über HTTP- statt GIT-Protokoll mittels Composer laden

caticonslite_bm_alt

Aufgrund von erhöhter Verwendung des Git-Protokolls am Git-Server von TYPO3 wird die Anzahl der maximal erlaubten Verbindungen überschritten und daher Verbindungen vom Server verworfen. Bei der Installation von TYPO3 Flow mittels Composer (z.B. „composer create-project –dev –keep-vcs typo3/flow-base-distribution Quickstart“) äußert sich das mit der folgenden Fehlermeldung:

[RuntimeException]                                                                                                                                                                                                  
Failed to execute git clone --no-checkout 'git://git.typo3.org/Flow/Distributions/Base.git' 'Quickstart/' && cd 'Quickstart/' && git remote add composer 'git://git.typo3.org/Flow/Distributions/Base.git' && git fetch composer  
fatal: read error: Die Verbindung wurde vom Kommunikationspartner zurückgesetzt

Dieses Problem lässt sich umgehen, indem man in Git alternative URLs zur Verwendung konfiguriert. Für typo3/flow-base-distribution ist das:

git config --global url."http://git.typo3.org/Flow/Distributions/Base.git".insteadOf "git://git.typo3.org/Flow/Distributions/Base.git"
git config --global url."http://git.typo3.org/Packages/TYPO3.Flow.git".insteadOf "git://git.typo3.org/Packages/TYPO3.Flow.git"
git config --global url."http://git.typo3.org/Packages/TYPO3.Fluid.git".insteadOf "git://git.typo3.org/Packages/TYPO3.Fluid.git"
git config --global url."http://git.typo3.org/Packages/TYPO3.Eel.git".insteadOf "git://git.typo3.org/Packages/TYPO3.Eel.git"
git config --global url."http://git.typo3.org/Packages/TYPO3.Welcome.git".insteadOf "git://git.typo3.org/Packages/TYPO3.Welcome.git"
git config --global url."http://git.typo3.org/Packages/TYPO3.Party.git".insteadOf "git://git.typo3.org/Packages/TYPO3.Party.git"
git config --global url."http://git.typo3.org/Packages/TYPO3.Kickstart.git".insteadOf "git://git.typo3.org/Packages/TYPO3.Kickstart.git"
git config --global url."http://git.typo3.org/Flow/BuildEssentials.git".insteadOf "git://git.typo3.org/Flow/BuildEssentials.git"
 nach oben