Wenn Sie composer update
ausführen, sucht das Betriebssystem in den konfigurierten Pfaden und versucht, eine ausführbare Datei mit diesem Namen zu finden.
Wenn php composer update
ausgeführt wird, wird die Zeichenfolge composer
als Parameter für PHP behandelt, der in keinem Pfad gesucht wird. Sie müssen den vollständigen Pfad angeben, um es auszuführen.
which composer
Laufen wird Ihnen sagen, wo das Betriebssystem den Komponisten ausführbare findet, und dann verwenden Sie einfach den vollständigen Pfad in der PHP-Befehl:
$>which composer
/usr/local/bin/composer
$>php -d memory_limit=512M /usr/local/bin/composer update
...
Beachten Sie, dass 512MB könnte zu wenig sein. Meine Wahrnehmung ist, dass es glücklich 1GB oder mehr dauert, abhängig von der Anzahl der Abhängigkeiten und der Vielfalt der Versionen, die Sie theoretisch erlauben, dh wenn Sie Symfony ~2.3
erlauben, dann machen Sie Composer mit viel mehr möglichen Versionen im Vergleich zu mit ~2.7
.
Beachten Sie auch, dass das Ausführen von Composer auf der Produktionsmaschine nicht die beste Idee ist. Sie müssten Zugriff auf Github haben, Zugangsdaten bereitstellen, VCS-Tools installiert haben und Ihre Site könnte leicht beschädigt werden, wenn einer der Remote-Hosting-Server während des Updates offline ist. Es empfiehlt sich, Composer auf einem Bereitstellungssystem zu verwenden, das die gesamte Vorbereitung durchführt, und dann alle Dateien auf den Produktionsserver zu verschieben.
Wie @Sven sagte, in der Produktion 'Composer Installation' ist genug. In deinem Fall, während du ein Shared Hosting verwendest, denke ich, dass du 'composer update' nicht funktionierst, also kaufe nur ein VPS-Hosting wie Digital Ocean, Linode. – Lucas