Installation 6.2 mit Composer

Hallo,

ich habe aktuell eine CE6.2.1 und wollte mir noch einen Testshop zum probieren anlegen.

Dazu habe ich ganz normal

composer create-project --no-dev oxid-esales/oxideshop-project your_project_name dev-b-6.2-ce

aufgerufen.

Der Composer bringt mir zum Schluss

Installing module topconcepts/oxid-klarna-6 package.
Class Incenteev\ParameterHandler\ScriptHandler is not autoloadable, can not call post-update-cmd script

if [ -f ./vendor/bin/oe-eshop-ide_helper ]; then oe-eshop-ide_helper; fi
Do you want to remove the existing VCS (.git, .svn…) history? [Y,n]? PHP Fatal error: Uncaught Error: Call to undefined method Composer\Question\StrictConfirmationQuestion::getAutocompleterCallback() in /usr/share/php/Symfony/Component/Console/Helper/QuestionHelper.php:119
Stack trace:
#0 /usr/share/php/Symfony/Component/Console/Helper/QuestionHelper.php(85): Symfony\Component\Console\Helper\QuestionHelper->doAsk()
#1 /usr/share/php/Symfony/Component/Console/Helper/QuestionHelper.php(430): Symfony\Component\Console\Helper\QuestionHelper->Symfony\Component\Console\Helper{closure}()
#2 /usr/share/php/Symfony/Component/Console/Helper/QuestionHelper.php(88): Symfony\Component\Console\Helper\QuestionHelper->validateAttempts()
#3 /usr/share/php/Composer/IO/ConsoleIO.php(277): Symfony\Component\Console\Helper\QuestionHelper->ask()
#4 /usr/share/php/Composer/Command/CreateProjectCommand.php(228): Composer\IO\ConsoleIO->askConfirmation()
#5 /usr/share/php/Composer/Command/CreateProjectCommand.php(147): Composer\Command\CreateProjectCommand->installProject()
#6 /usr/share/php/Symfony/Component/Console/ in /usr/share/php/Symfony/Component/Console/Helper/QuestionHelper.php on line 119

Fatal error: Uncaught Error: Call to undefined method Composer\Question\StrictConfirmationQuestion::getAutocompleterCallback() in /usr/share/php/Symfony/Component/Console/Helper/QuestionHelper.php:119
Stack trace:
#0 /usr/share/php/Symfony/Component/Console/Helper/QuestionHelper.php(85): Symfony\Component\Console\Helper\QuestionHelper->doAsk()
#1 /usr/share/php/Symfony/Component/Console/Helper/QuestionHelper.php(430): Symfony\Component\Console\Helper\QuestionHelper->Symfony\Component\Console\Helper{closure}()
#2 /usr/share/php/Symfony/Component/Console/Helper/QuestionHelper.php(88): Symfony\Component\Console\Helper\QuestionHelper->validateAttempts()
#3 /usr/share/php/Composer/IO/ConsoleIO.php(277): Symfony\Component\Console\Helper\QuestionHelper->ask()
#4 /usr/share/php/Composer/Command/CreateProjectCommand.php(228): Composer\IO\ConsoleIO->askConfirmation()
#5 /usr/share/php/Composer/Command/CreateProjectCommand.php(147): Composer\Command\CreateProjectCommand->installProject()
#6 /usr/share/php/Symfony/Component/Console/ in /usr/share/php/Symfony/Component/Console/Helper/QuestionHelper.php on line 119

Das Setup kann ich trotzdem aufrufen, habe aber hier " * [ini_set erlaubt]" in rot. Wenn ich hier etwas trickse, läuft das Setup zwar durch, aber ich erhalte zum Schluss einen “maintenance mode”.

Das Setup der CE6.0 und der 6.1 läuft übrigens durch und auch die Shops laufen.

Ich brauche allerdings zum Testen die 6.2…

Was kann ich hier noch machen?

mfg

Gert

hast du den ersten Befehl zufällig innerhalb der 6.1er Installation ausgeführt?
Und in was für einer Umgebung arbeitest du? OXVM oder ein Linux Server?

Hallo,
über das Problem mit ini-set bin ich letztens auch gestolpert!
Wenn ich das mit meinem geringen PHP Kenntnis richtig verstehe wird hier geprüft, ob man memory_limit ändern kann.
Wenn das nicht erlaubt ist dann ist ini_set nicht aktiv!?
Nun habe ich einen gemanagten VHost wo das garantiert nicht erlaubt ist aber ini_set trotzdem aktiv ist.
Darf ich da kein OXID mehr installieren? Die schon installierten laufen auch so, mit rotem ini_set in der Systemgesundheit!

‘/**
* Checks if ini set is allowed
*
* @return integer
*/
public function checkIniSet()
{
return (@ini_set(‘memory_limit’, @ini_get(‘memory_limit’)) !== false) ? 2 : 0;
}’
Hier steht wie man trotzdem installieren kann! Installation 6.2.0 ini_set erlaubt rot
Dazu muss man aber im Core die SystemRequirements.php verbiegen!

Hallo @vanilla_thunder,

ich habe den Befehl im Host-Root ausgeführt.

Die Systemgesundheit von meiner funktionierenden CE6.2.1 sagt mir:

|PHP:|7.2.34|
|MySQL:|10.3.25-MariaDB-0ubuntu0.20.04.1|
|Apache:|Apache|

PS: Wenn ich die funktionierende CE6.1 auf 6.2 updaten möchte, erscheint m.E. die gleichen Fehlermeldungen.

mfg

Gert

Hallo @windes,

ich würde erst mal warten, oder die CE6.1 installieren. Meine 6.2.1 lässt die Installation von einigen Modulen nicht zu, bzw. die laufen dann nicht.
Deshalb wollte ich einen Testshop mit CE6.2 aufsetzten, um testen zu können, ohne gleich den Shop zu zerschießen…

mfg

Gert

Laut Eintrag aus Forum Composer Oxid 6 can not call post-update-cmd handelt es sich um Deine obige Fehlermeldung nur um eine Warning und kann ignoriert werden.

Beim Testen eines Updates von 6.1 auf 6.2 Serie würde ich trotzdem immer nach dem Handbuch https://docs.oxid-esales.com/developer/en/6.2/update/update-from-6.1.x-to-6.2.0.html beschriebenen Weg vorgehen. Vielleicht hilft Dir dies ein wenig weiter.

Hallo @indianer3c,

das Update wurde nach dem Handbuch durchgeführt.

@indianer3c indianer3c
Laut Eintrag aus Forum Composer Oxid 6 can not call post-update-cmd handelt es sich um Deine obige Fehlermeldung nur um eine Warning und kann ignoriert werden.

Allerdings wird das VCS nicht entfernt und

mfg

Gert

Schau doch mal ins Log. Könnte sein, dass die Views nicht geschrieben wurden. Dann einfach skipviews in der confic.inc.php aktivieren und views im Admin schreiben.

Hallo @rubbercut,

ein Log gibt es noch nicht, auch keine temporären Dateien. Im Log-Ordner befindet sich eine .htaccess und eine “oxdebugdb_skipped.sql”…

Den Trick mit den skipviews habe ich selbst schon mehrfach gebraucht, hier funktionierte er nicht…

mfg

Gert

@GPassin wahrscheinlich weicht Deine .htaccess noch ab vom Standard wenn Du wie geschrieben nach der Update Anleitung vorgegangen bist. Am Besten vergleichst Deine .htaccess mit der des Originals.

Anmerkung: Bei der Update Anleitung findet kein neuer Setup Prozess statt finden. Dies verwirrt mich, bei Deinem Vorgehen.

Hallo @rubbercut,

ich habe Probleme mit meiner CE6.2.1 mit Modulen.

Deshalb will ich das mit einer “frischen” CE6.2 testen.

Das habe ich nun auf 2 Wegen ausprobiert:

  1. composer create-project --no-dev oxid-esales/oxideshop-project your_project_name dev-b-6.2-ce
  2. composer create-project --no-dev oxid-esales/oxideshop-project your_project_name dev-b-6.1-ce und anschließend Update auf CE6.2

Ergebnis beim 1. Versuch siehe ganz oben. Log-Ordner befindet sich eine .htaccess und eine “oxdebugdb_skipped.sql”…

Ergebnis beim 2. Versuch CE6.1 ist ok. -> nach Update auf CE6.2 siehe oben.

Das Log sagt hier:

[2021-01-18 18:14:12] OXID Logger.ERROR: Call to undefined method Symfony\Component\Console\Question\Question::getAutocompleterCallback() ["[object] (Error(code: 0): Call to undefined method Symfony\Component\Console\Question\Question::getAutocompleterCallback() at /usr/share/php/Symfony/Component/Console/Helper/QuestionHelper.php:119)\n[stacktrace]\n#0 /usr/share/php/Symfony/Component/Console/Helper/QuestionHelper.php(81): Symfony\Component\Console\Helper\QuestionHelper->doAsk()\n#1 /usr/share/php/Composer/IO/ConsoleIO.php(265): Symfony\Component\Console\Helper\QuestionHelper->ask()\n#2 /home/users/passin/www/gn2.xxx.de/my_oxid_eshop_project/vendor/oxid-esales/oxideshop-composer-plugin/src/Installer/Package/AbstractPackageInstaller.php(201): Composer\IO\ConsoleIO->ask()\n#3 /home/users/passin/www/gn2.xxx.de/my_oxid_eshop_project/vendor/oxid-esales/oxideshop-composer-plugin/src/Installer/Package/ModulePackageInstaller.php(76): OxidEsales\ComposerPlugin\Installer\Package\AbstractPackageInstaller->askQuestion()\n#4 /home/users/passin/www/gn2.xxx.de/my_oxid_eshop_project/vendor/oxid-esales/oxideshop-composer-plugin/src/Installer/PackageInstallerTrigger.php(81): OxidEsales\ComposerPlugin\Installer\Package\ModulePackageInstaller->update()\n#5 /home/users/passin/www/gn2.xxx.de/my_oxid_eshop_project/vendor/oxid-esales/oxideshop-composer-plugin/src/Plugin.php(126): OxidEsales\ComposerPlugin\Installer\PackageInstallerTrigger->updatePackage()\n#6 /home/users/passin/www/gn2.xxx.de/my_oxid_eshop_project/vendor/oxid-esales/oxideshop-composer-plugin/src/Plugin.php(93): OxidEsales\ComposerPlugin\Plugin->executeAction()\n#7 [internal function]: OxidEsales\ComposerPlugin\Plugin->updatePackages()\n#8 /usr/share/php/Composer/EventDispatcher/EventDispatcher.php(164): call_user_func()\n#9 /usr/share/php/Composer/EventDispatcher/EventDispatcher.php(96): Composer\EventDispatcher\EventDispatcher->doDispatch()\n#10 /usr/share/php/Composer/Installer.php(338): Composer\EventDispatcher\EventDispatcher->dispatchScript()\n#11 /usr/share/php/Composer/Command/UpdateCommand.php(163): Composer\Installer->run()\n#12 /usr/share/php/Symfony/Component/Console/Command/Command.php(255): Composer\Command\UpdateCommand->execute()\n#13 /usr/share/php/Symfony/Component/Console/Application.php(934): Symfony\Component\Console\Command\Command->run()\n#14 /usr/share/php/Symfony/Component/Console/Application.php(273): Symfony\Component\Console\Application->doRunCommand()\n#15 /usr/share/php/Composer/Console/Application.php(281): Symfony\Component\Console\Application->doRun()\n#16 /usr/share/php/Symfony/Component/Console/Application.php(149): Composer\Console\Application->doRun()\n#17 /usr/share/php/Composer/Console/Application.php(113): Symfony\Component\Console\Application->run()\n#18 /usr/bin/composer(62): Composer\Console\Application->run()\n#19 {main}\n"] []
[18 Jan 18:14:12.263828 2021] [uncaught error] [type E_ERROR] [file /usr/share/php/Symfony/Component/Console/Helper/QuestionHelper.php] [line 119] [code ] [message Uncaught Error: Call to undefined method Symfony\Component\Console\Question\Question::getAutocompleterCallback() in /usr/share/php/Symfony/Component/Console/Helper/QuestionHelper.php:119
Stack trace:
#0 /usr/share/php/Symfony/Component/Console/Helper/QuestionHelper.php(81): Symfony\Component\Console\Helper\QuestionHelper->doAsk()
#1 /usr/share/php/Composer/IO/ConsoleIO.php(265): Symfony\Component\Console\Helper\QuestionHelper->ask()
#2 /home/users/passin/www/gn2.xxx.de/my_oxid_eshop_project/vendor/oxid-esales/oxideshop-composer-plugin/src/Installer/Package/AbstractPackageInstaller.php(201): Composer\IO\ConsoleIO->ask()
#3 /home/users/passin/www/gn2.xxx.de/my_oxid_eshop_project/vendor/oxid-esales/oxideshop-composer-plugin/src/Installer/Package/ModulePackageInstaller.php(76): OxidEsales\ComposerPlugin\Installer\Package\AbstractPackageInstaller->askQuestion()
#4 /home/users/passin/www/gn2.xxx.de/my_oxid_eshop_project/vendor/oxid-esa]

.htaccess im Log-Verzeichnis bei beiden Installationen:

disabling log file access from outside

<FilesMatch .*>

Require all denied

<IfModule !mod_authz_core.c>
Order allow,deny
Deny from all

Options -Indexes

mfg

Gert

Nur für den Fall, dass jemand auf dieses Problem stößt: Dies könnte ein Composer-Problem sein. Ich habe gerade versucht, einen 6.2-Shop mit Composer 1.10.1 zu installieren, und bin auf das oben beschriebene Problem gestoßen. Nachdem ich Composer auf Version 1.10.20 aktualisiert hatte (der letzte Composer 1.x, Composer 2.x ist ein ganz anderes Kaliber :wink: ), wurde das create-project erfolgreich beendet.

2 Likes

Ja. ich mache vorsichtshalber immer ein composer self-update davor