Nextcloud occ-Kommando auf Webhoster ohne SSH ausführen

Nach Nextcloud-Updates hat man regelmäßig das Problem, dass irgendein Index aus Zeitgründen nicht automatisiert angelegt wurde. Oder neue Spalten in Tabellen hinzukamen. Nextcloud weißt dann darauf hin, welches occ-Kommando man doch bitte ausführen soll, um diesen Missstand zu beheben. Das geht normalerweise nur auf dem Terminal oder aber mit der OCC-Web App – die aber scheinbar für Version 19 nicht mehr gepflegt wird. Auf help.nextcloud kam die Idee auf, dass man ja auch einen vorgefertigten Befehl durch PHP ausführen könne und dieses als „Workaround“ gut funktioniere. Ich habe das vorgeschlagene Script ein klein wenig aufgehübscht:

<?php
# Use relative path to point to occ of your nextcloud installation and append the occ-command
$command = "/usr/bin/env php -d memory_limit=512M ../nextcloud/occ db:add-missing-columns";
?>
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="utf-8" />
<title>Execute Nextcloud occ-command on shared hosting</title>
<style>body { font-family: sans-serif; }</style>
</head>
<body>
<?php echo "<h1>Command</h1><p>" . htmlspecialchars($command) . "</p><h1>Result</h1><p>" . htmlspecialchars(exec($command)) . "</p>"; ?>
</body>
</html>

Der Variable $command einfach das Kommando zuweisen, die Adresse aufrufen und die Datei hinterher wieder entfernen. :-)

Dieser Beitrag wurde unter Computer abgelegt und mit , , , , verschlagwortet. Setze ein Lesezeichen auf den Permalink.

6 Antworten zu Nextcloud occ-Kommando auf Webhoster ohne SSH ausführen

  1. pitt sagt:

    So simpel wie genial!
    Vielen Dank, hat perfekt funktioniert – nach fünf Minuten waren alle occ-commands erledigt.

  2. Frank sagt:

    Freut mich, dass es dir geholfen hat. Ich hatte auch einige Zeit verzweifelt gesucht…

  3. Marco sagt:

    Herzlichen Dank

  4. Markus Richter sagt:

    Habe auch gerade diese Seite entdeckt, vielen Dank für die Informationen.

    Eine Frage habe ich noch, besteht so eine ähnliche Möglichkeit auch um updater.phar zu starten ?.
    Wenn ich occ maintenance:mode –on ausführe, kommt man ja nicht mehr in die Nextcloud.
    Ich möchte dann aber trotzdem die updater.phar starten, nicht aus der Nextcloud heraus.
    Ist das möglich ?.

  5. Frank sagt:

    Leider kann ich dir da nicht mit Erfahrungswerten weiterhelfen. Wenn du zwei Scripte hast, die den Wartungsmodus an- und ausmachen können, kannst du das ja mal einfach ausprobieren und berichten?

  6. Erik sagt:

    Vielen Dank für diese Idee bzw. das Skript!
    Jetzt sind laut NC alle Spalten da, Indexe erstellt und primary keys fehlen wohl auch nicht mehr :)
    Die bigint-Konvertierung traue ich mich so zwar nicht auszuführen, aber die drei anderen sind schon eine große Hilfe.

    Super hilfreich, merci.

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert.