CLI-Konsole über Putty

Hallo zusammen,

ich möchte gern über die CLI-Konsole in Shopware einige administrative Dinge bearbeiten. Wenige aber gute Erfahrungen habe ich mit dem DUMP ziehen gemacht.

Nun möchte ich in erster Linie diese Befehle ausführen um zukünftig weniger Speicher und Downloadzeiten besonders bei den Backups zu verbrauchen.

,Gern möchte ich auch alle unbenutzen Thumbnails und die nicht benötigte Binäre Ordnerstrucktur löschen weil das einige Tausende scheinbar sind und das Backup ewig dauert. ;(

sw:media:cleanup     Sammelt alle unbenutzten Artikelbilder und verschiebt diese in den Papierkorb

Leider bekomme ich eine Fehlermeldung das ein Verzeichnis nicht vorhanden ist.
Wo finde ich eine genaue Anleitung zum Sachverhalt?

 

So gehe ich in Putty direkt nach der Anmeldung vor. Das Funktioniert einwandfrei.

DB-Backup erzeugen:

mysqldump --no-tablespaces --databases --host=db123456789.db.1and1.com --user=dbo123456789 --password=xxx db123456789 > db123456789.sql

 

DB-Backup wieder einspielen:

mysql --host=db123456789.db.1and1.com --user=dbo123456789 --password=xxx db123456789 < db123456789.sql

 

Diese Befehle bringen Fehler hervor:

/usr/local/php5.6/bin/php -z /usr/local/php_extensions/php5.6/ioncube.so ~/TM/Shop/bin/console sw:media:cleanup

/usr/local/php5.6/bin/php -z /usr/local/php_extensions/php5.6/ioncube.so console sw:media:cleanup

Bild

Kennt keiner von Euch die korrekte Syntax?

Du rufst das Programm php wie folgt auf

/usr/local/php5.6/bin/php 

und erhälst als Antwort, dass es unter diesem Pfad kein php gibt. Was soll man da sagen, keiner weiß den exakten Pfad zur php-binary auf deinem Server. Da musst du wohl beim Hoster nachfragen, wo die php-binary liegt.

Wenn du das aus einem Tutorial vom Hoster kopiert hast, ist der Pfad scheinbar veraltet.

Viele Grüße

normalerweise ist php in der system $PATH, also sollte zbs. php --version einfach funktionieren.

und bin/console hat ein shebang, also kann man es auch einfach direkt auszuführen ~/TM/Shop/bin/console sw:media:cleanup

1 „Gefällt mir“

sollte aber selbe Benutzer sein der auch Webrechte hat auf den Ordner, nicht root :slight_smile:

1 „Gefällt mir“

Danke für die Antworten

 

wontfix das ist das ergebnis allerings verstehe ich nicht warum php 4.4.9 angezeigt wird. ich fahre auf 5.6 und benutze auch den ioncube loader 5.6  x86_64

X-Powered-By: PHP/4.4.9
Content-type: text/html


Parse error: syntax error, unexpected T_STRING, expecting T_CONSTANT_ENCAPSED_STRING or '(' in /homepages/xx/d123456789/htdocs/TM/Shop/bin/console on line 30

update auf php 7.0 wäre mal ne möglichkeit einen test zu machen, oder was meint ihr so

PS gibt es immernoch keine möglichkeit 7.2 zu nutzen ?

 

doch kannst du nutzen wenn du keine verschlüsselten Plugins hast :slight_smile:

1 „Gefällt mir“

exakt der gleiche Zeilenfehler 30te Zeile sch…

Warum wird da überhapt noch 4.4.9 statt 7.0.31 angezeigt? 

WALD und Bäume ;(

 

Hallo,

die verwendete PHP-Version ist bei vielen Hostern auf der Console eine ganz andere als bei den Domains. Die Console ist üblicherweise auch keiner Domain zugeordnet. Woher soll das System dann auch wissen, welche PHP-Version anzuwenden ist.

Also direkt die zu verwendende PHP-Version im Befehl oder Script angeben hilft.

 

/usr/bin/php7.1-cli

Bei 1&1 ist das so gelöst hab es durch zufall gefunden … https://help.1and1.com/hosting-c37630/scripts-and-programming-languages-c85099/php-c37728/execute-php-scripts-in-the-command-line-a793156.html

Ich bin jetzt ein Schritt weiter allerdings noch nicht am Ziel des Ausführens 

(uiserver):x123456789:~/TM/Shop/bin$ /usr/bin/php7.1-cli -z ~/TM/Shop/bin/console sw:media:cleanup
Failed loading /kunden/homepages/xx/d123456789/htdocs/TM/Shop/bin/console: /kunden/homepages/xx/d123456789/htdocs/TM/Shop/bin/console: invalid ELF header
Could not open input file: sw:media:cleanup

(uiserver):x123456789:~/TM/Shop/bin$ /usr/bin/php7.1-cli /kunden/homepages/xx/d123456789/htdocs/TM/Shop/ioncube/ioncube_loader_lin_7.1.so console sw:media:cleanup
Parse error: syntax error, unexpected '$' in /homepages/xx/d123456789/htdocs/TM/Shop/ioncube/ioncube_loader_lin_7.1.so on line 1706

(uiserver):x123456789:~/TM/Shop/bin$ /usr/bin/php7.1-cli /kunden/homepages/xx/d123456789/htdocs/TM/Shop/ioncube/ioncube_loader_lin_7.1_ts.so console sw:media:cleanup
Parse error: syntax error, unexpected '$' in /homepages/xx/d123456789/htdocs/TM/Shop/ioncube/ioncube_loader_lin_7.1_ts.so on line 2124

Der tatsächliche Phad zu meinen ioncube Dateien lautet /kunden/homepages/xx/d123456789/htdocs/TM/Shop/ioncube/ioncube_loader_lin_7.1.so

was mir auch nicht ganz klar ist:

The programs included with the Debian GNU/Linux system are free software;
the exact distribution terms for each program are described in the
individual files in /usr/share/doc/*/copyright.

Debian GNU/Linux comes with ABSOLUTELY NO WARRANTY, to the extent
permitted by applicable law.

(uiserver):x123456789:~$ /usr/bin/php7.1-cli sw:media:cleanup
Could not open input file: sw:media:cleanup

(uiserver):x123456789:~$

Warum diese Fehlinterpretation?
Could not open input file: sw:media:cleanup

 

Beste Grüße
 

Hallo SB,

hier im Forum unterstützen doch Shopware User wie Du (die bereits Erfahrungen mit bestimmten Dingen haben) eben unerfahrene User wie z.B. mich. Das nennt man Hilfe.

Oben habe ich beschrieben was ich gern machen möchte. Die Anleitung zum Thema habe ich mir Stück für Stück heraus gesucht, leider ist sie nicht komplett schlüssig. Daher suche ich hier Hilfe.

Wenn du helfen kannst würde ich mich sehr freuen.

Viele Grüße 

Danke SB,

diese Deine Antwort habe ich jetzt schon mehrfach in anderen Beiträgen von Dir gelesen. Leider hilfst du ohne eine Sachkundige Erklärung nicht.

Weder erklärst du warum diese Befehle nicht funktionieren, DU ZEIGST AUCH NICHT DIE ORDNERSTRUCKTUR ZU DEN BEFEHLEN AUF, du behauptest einfach das es pauschal nicht geht.

Bist du ein Shopware zertifizierter Host Anbieter oder arbeitest im Auftrag? Ich verstehe auch nicht was das Buch Linux für Dummis mit einem Hostwechsel zu tun hat.

Versuche doch bitte eine Fachlich fundierte Antwort zu geben statt Unsicherheit zu verbreiten. Dein Kama-Konto profitiert auch davon.

/usr/bin/php7.1-cli sw:media:cleanup

[shopverzeichnis]/bin/console dazwischen vergessen? sw:media:cleanup sind Argumente fuer die Shopware Konsole, nicht php selbst.

1 „Gefällt mir“
(uiserver):x123456789:~$ /usr/bin/php7.1-cli /kunden/homepages/xx/d123456789/htdocs/TM/Shop/bin/console sw:media:cleanup
Site error: the ionCube PHP Loader needs to be installed. This is a widely used PHP extension for running ionCube protected PHP code, website security and malware blocking.

Please visit get-loader.ioncube.com for install assistance.

Ich habe das ioncube Verzeichnis  in meiner Ordnerstrucktur wie empfhlen in /kunden/homepages/xx/d123456789/htdocs/TM/Shop/ioncube/ioncube_loader_lin_7.1.so

Diesen Ordner spreche ich auch für meinen Shop direkt an in der PHP.ini

Muss ich da irgendetwas trennen oder in einer anderen Ordnerstrucktur verpacken?

Mein Befehl lautet nun wie folgt und wirft nun den Fehler zum Ioncube loader heraus.  grrrr

 

/usr/bin/php7.1-cli /kunden/homepages/xx/d123456789/htdocs/TM/Shop/bin/console /kunden/homepages/xx/d123456789/htdocs/TM/Shop/ioncube/ioncube_loader_lin_7.1.so sw:media:cleanup

Kann ich irgendwo prüfen welches Verzeichnis ich benötige? Gibt es ene Abfrage ob alles korrekt erreichbar ist? Mein Shop läuft seit der Umstellung stabil auf PHP 7.0!

(uiserver):x123456789:~$ /usr/bin/php7.1-cli /kunden/homepages/xx/d123456789/htdocs/TM/Shop/bin/console /kunden/homepages/xx/d123456789/htdocs/TM/Shop/ioncube/ioncube_loader_lin_7.1.so sw:media:cleanup

Site error: the ionCube PHP Loader needs to be installed. This is a widely used PHP extension for running ionCube protected PHP code, website security and malware blocking.

Please visit get-loader.ioncube.com for install assistance.

 

Schade das es im Backend nicht die Möglichkeiten gibt überflüssige Bilder, Tumpnails und Dateistruckturen zu löschen. Das wäre eine nützliche Erweiterung zum Tumpnail gennerieren. 

 

Hat noch jemand eine Idee … 

Sehr schön, du hast also den Pfad für PHP7.1 gefunden. (/usr/bin/php7.1-cli)
Wie du an der Fehlermeldung sehen kannst, läuft Ioncube damit nicht. (Erklärung: https://community.shopware.com/_detail_1927.html Shopware unterstützt 7.1 und 7.2 mit Ioncube nicht ).

D.h. musst du nun die Version 7.0 auf deinem Server finden. Mit 7.1 wird es nichts.

Viele Grüße

1 „Gefällt mir“

Hallo simkli,

beim Update auf die 7er version hatte ich das auch gelesen steht ja gleich zum Anfang drin.

ZITAT: _ Achtung!  Aktuell werden ionCube verschlüsselte Plugins mit PHP 7.1.x oder PHP 7.2.x noch nicht unterstützt. Der Einsatz von verschlüsselten Plugins ist nur mit PHP 7.0.x möglich!_

Allerdings geht es doch hier nur um die ionCube verschlüsselte Plugins! Wie ist das zu verstehen und warum ist das dann auch bei der Console relevant? Vielleicht kann mal ein Administrator oder Shopware Mitarbeiter bitte etwas dazu sagen.

 

DANKE

Na weil die Plugins bei der Console natürlich geladen werden. Auch Plugins können Kommandos wie sw:Media:cleanup hinzufügen. Daher muss auch das CLI-php einen kompatiblen Ioncube-Loader haben, wenn du verschlüsselte Plugins installiert hast.

Viele Grüße 

Gibt es den noch eine andere Möglichkeit automatisiert die unnützen Bilder, Ordner und Thumpnails zul öschen?

Im Grunde bin ich von der Programmierlogik davon ausgegangen das wenn überhaupt das Plugins die CONSOLE aufrufen kann. Das beim Aufrufen der CONSOLE alle verfügbaren Plugins abgefragt werden hat für mich erstmal kein Sinn gemacht. Ich finde da auch keine verlinkung in den Dateien.

Nach meiner Prüfung wird lediglich diese Biblotek geprüft /engine/Library/

Dort sind unter anderem die Enlight, Smarty und TinyMce Plugins zu finden z.B. _\engine\Library\Smarty\sysplugins\ & \engine\Library\Smarty\plugins_ das sind keine verschlüsselten sondern reine PHP oder JavaScript Dateien.

Oder wo ist da der Hacken, sei nicht böse ich möchte es einfach nachvollziehen können dieses Mächtige Gerüst

DANKE

Wieso frägst du nicht bei deinem Hoster nach, wo die php7.0 Binary liegt?

Viele Grüße