PHP-Version angeblich veraltet PHP 7.3. (cli) aber PHP 7.4. ist installiert

Alistanneneth

Benutzer
Mitglied seit
27. Jul 2022
Beiträge
5
Punkte für Reaktionen
0
Punkte
1
Ich habe eine DS 218 und möchte Nextcloud installieren.
Dazu habe ich PHP 7.4. installiert.
Ich erhalte jedoch die folgende Fehlermeldung:
sudo -u http php occ maintenance:repair This version of Nextcloud requires at least PHP 7.4<br/>You are currently running 7.3.3. Please update your PHP version.root@Imladris:/volume1/web/iston# php -v PHP 7.3.3 (cli) (built: Oct 7 2021 06:18:21) ( NTS ) Copyright (c) 1997-2018 The PHP Group Zend Engine v3.3.3, Copyright (c) 1998-2018 Zend Technologies

Wenn ich den Befehl mit der PHP Version aufrufe kommt folgender Fehler: sudo -u http php74 occ maintenance:repair An unhandled exception has been thrown: OCP\HintException: [0]: Memcache \OC\Memcache\APCu not available for local cache (Is the matching PHP module installed and enabled?)

php -v liefert
PHP 7.3.3 (cli) (built: Oct 7 2021 06:18:21) ( NTS ) Copyright (c) 1997-2018 The PHP Group Zend Engine v3.3.3, Copyright (c) 1998-2018 Zend Technologies

Es deutet also alles darauf hin, dass irgendwie intern noch eine andere PHP version installiert ist. Kann ich die irgendwie auf Php 7.4 updaten? Oder eine Standard PHP-Version festlegen oder so?
 

luddi

Benutzer
Sehr erfahren
Mitglied seit
05. Sep 2012
Beiträge
3.242
Punkte für Reaktionen
586
Punkte
174
Standard PHP-Version festlegen oder so?
Das kann unter Web Station -> Webdienstportal -> Standard-Serverportal -> festgelegt werden.
Standardportal markieren und auf "Bearbeiten", anschließend im Feld PHP die entsprechende Version wählen.

Oder man greift auf die Nextcloud Instanz mit einer Subdomain zu und erstellt hierfür Virtuelle Host Einträge, für die man wiederum unabhängig vom Standard-Serverportal die PHP Version separat einstellen kann.

Memcache \OC\Memcache\APCu not available for local cache
Quelle: OCC won’t run with memcache/apcu
Versuche hier einmal apc direkt im Befehl zu aktivieren mit --define apc.enable_cli=1
Somit dein Befehl wie folgt: sudo -u http php --define apc.enable_cli=1 occ maintenance:repair
 
  • Like
Reaktionen: Alistanneneth

Alistanneneth

Benutzer
Mitglied seit
27. Jul 2022
Beiträge
5
Punkte für Reaktionen
0
Punkte
1
Standardportal markieren und auf "Bearbeiten", anschließend im Feld PHP die entsprechende Version wählen.
Da ist überall 7.4 ausgewählt. Als Paket ist 7.3. auch gar nicht installiert.
Wenn ich über ssh alls php.ini suche, finde ich aber verstreut Ordner zu php56, php70, 71, 72, 74, 80.

Versuche hier einmal apc direkt im Befehl zu aktivieren mit --define apc.enable_cli=1
Somit dein Befehl wie folgt: sudo -u http php --define apc.enable_cli=1 occ maintenance:repair
Das Problem bleibt das gleiche.
 

Alistanneneth

Benutzer
Mitglied seit
27. Jul 2022
Beiträge
5
Punkte für Reaktionen
0
Punkte
1
unter /etc finde ich auch nur php.ini
In allen Anleitungen die ich sonst gefunden hatte, sollte man den Befehl mit apc.enable_cli = 1 in einem Unterordner von etc / php ... einfügen.
 

Fusion

Benutzer
Sehr erfahren
Mitglied seit
06. Apr 2013
Beiträge
14.137
Punkte für Reaktionen
898
Punkte
424
Hast du explizit
Code:
sudo -u http php74 --define apc.enable_cli=1 occ maintenance:repair
mit Versionsangabe probiert?
 
  • Like
Reaktionen: luddi

Alistanneneth

Benutzer
Mitglied seit
27. Jul 2022
Beiträge
5
Punkte für Reaktionen
0
Punkte
1
Hast du explizit
Code:
sudo -u http php74 --define apc.enable_cli=1 occ maintenance:repair
mit Versionsangabe probiert?

sudo -u http php occ maintenance:repair
This version of Nextcloud requires at least PHP 7.4<br/>You are currently running 7.3.3. Please update your PHP version

sudo -u http php --define apc.enable_cli occ maintenance repair
This version of Nextcloud requires at least PHP 7.4<br/>You are currently running 7.3.3. Please update your PHP version.

sudo -u http php74 occ maintenance:repair
An unhandled exception has been thrown:
OCP\HintException: [0]: Memcache \OC\Memcache\APCu not available for local cache (Is the matching PHP module installed and enabled?)

sudo -u http php74 --define apc.enable_cli occ maintenance repair
An unhandled exception has been thrown:
OCP\HintException: [0]: Memcache \OC\Memcache\APCu not available for local cache (Is the matching PHP module installed and enabled?)


Ja, in allen Kombinationen ( s.o.)
Es gibt zwei verschiedene Fehler, die sich für mich auf den ersten Blick aber nach einer ähnlichen Ursache anhören.

Die Nextcloud an sich läuft auch. Also bei der Installation wurden PHP 7.4 gefunden. Ich würde nur gern über die Konsole Zusatzpakete installieren, was nur mit occ geht, soweit ich weiß.

Das kann unter Web Station -> Webdienstportal -> Standard-Serverportal -> festgelegt werden.
Standardportal markieren und auf "Bearbeiten", anschließend im Feld PHP die entsprechende Version wählen.

Oder man greift auf die Nextcloud Instanz mit einer Subdomain zu und erstellt hierfür Virtuelle Host Einträge, für die man wiederum unabhängig vom Standard-Serverportal die PHP Version separat einstellen kann.


Quelle: OCC won’t run with memcache/apcu
Versuche hier einmal apc direkt im Befehl zu aktivieren mit --define apc.enable_cli=1
Somit dein Befehl wie folgt: sudo -u http php --define apc.enable_cli=1 occ maintenance:repair
In dem Link stand noch was von packages, die installiert werden sollen: "packages memcached php-memcached php-apcu are installed."
Wie kann ich die installieren? (Bin normalerweise kein Linux Nutzer...)
 

Fusion

Benutzer
Sehr erfahren
Mitglied seit
06. Apr 2013
Beiträge
14.137
Punkte für Reaktionen
898
Punkte
424
Dann hoffe ich mal, dass dies nur ein Flüchtigkeitsfehler ist, weil deiner Zitat
Code:
sudo -u http php74 --define apc.enable_cli occ maintenance repair
ist nicht korrekt übernommen.
Weil man diese memcache Meldung damit umschiffen kann.

Installieren muss man nichts extra, müsste ich jedenfalls noch nie für nextcloud.
In der Web Station im vHost kann man sich alles zu php Erweiterungen, Kern etc. Einstellen was nötig ist.

Für die Konsole referenziere ich immer nur diese config bzw hab mir einen Kürzel angelegt (in /root/.profile ein Alias). Bsp.
Code:
Alias ncc='sudo -u http php80 -c /var/packages/WebStation/etc/php_profile/<string>/conf.d/user_settings.ini /volume1/web/nextcloud/occ'
Muss halt herausbekommen welcher <String> zum gewünschten vHost gehört.

In der Datei stehen aber wie gesagt nur Inhalte die ich über das php Profile des vHost in der GUI eingestellt habe.
Unter anderem eben das apc.enable_cli = 1.

Wenn ich nicht auf mein Kürzel zurück greife und originär das occ nehme kommt ein anderes profile zum Einsatz und ich muss das enable_cli mit in den Aufruf packen.
Deshalb muss ich am Ende von Updates auch immer das 'occ upgrade' nochmal 'korrekt' aufrufen.
 
Zuletzt bearbeitet:
  • Like
Reaktionen: Alistanneneth

Alistanneneth

Benutzer
Mitglied seit
27. Jul 2022
Beiträge
5
Punkte für Reaktionen
0
Punkte
1
Alias ncc='sudo -u http php80 -c /var/packages/WebStation/etc/php_profile/<string>/conf.d/user_settings.ini /volume1/web/nextcloud/occ'
Mit dem erweiterten Befehl mit der Pfad-Angabe hat es funktioniert, danke!! :)

Also zumindest kann ich jetzt die OCC-Befehle aufrufen.

Colabora Office ist zwar angeblich jetzt installiert, funktioniert aber nicht, aber das ist eine andere Baustelle ;-)
 

luddi

Benutzer
Sehr erfahren
Mitglied seit
05. Sep 2012
Beiträge
3.242
Punkte für Reaktionen
586
Punkte
174
was ist hier mit <String> gemeint?
Mit String ist folgendes gemeint. Zu jedem PHP Profil welches in der Web Station angelegt wurde gibt es jeweils eine eigene Konfiguration. Der Name des PHP Profils wird dabei zufällig erstellt.

In meinem Beispiel sieht es wie folgt aus.
In der Web Station sind in Summe 4 PHP Profile angelegt für jeweils unterschiedliche Web Anwendungen.

In dem Verzeichnis /var/packages/WebStation/etc/php_profile liegen eben genau diese PHP Profile mit dem jeweiligen Profilnamen.
Sieht bei mir z.B. so aus:

Code:
/var/packages/WebStation/etc/php_profile  $ ls -la
total 0
drwxr-xr-x 1 root root 288 Aug  7  2021 .
drwxr-xr-x 1 root root 504 Dec  8 20:21 ..
drwxr-xr-x 1 root root  28 Dec  8 20:21 1655ab00-edac-4176-a9d0-be25ccb4e083
drwxr-xr-x 1 root root  28 Dec  8 20:21 791227a2-2248-4fdd-a680-cc54aa81cc25
drwxr-xr-x 1 root root  28 Dec  8 20:21 db892277-104c-4663-aae4-a79ec0a5ccaa
drwxr-xr-x 1 root root  28 Dec  8 20:21 f0cff57b-bd11-4f2b-a050-ba1923a69a4d

Hier gibt es für jedes Profil ein Separates Verzeichnis mit dem jeweiligen Profilnamen. Und mit dem Profilnamen ist eben der String gemeint.

In meinem Beispiel müsste man für <String> eines dieser Verzeichnisse wählen welches dem Profil für die Nextcloud entpricht.
Aus "String" /var/packages/WebStation/etc/php_profile/<string>/conf.d/user_settings.ini
folgt dann z.B. /var/packages/WebStation/etc/php_profile/f0cff57b-bd11-4f2b-a050-ba1923a69a4d/conf.d/user_settings.ini

Wenn man herausfinden möchte welches Profil sich hinter den kryptischen Namen verbirgt bekommt man das über folgende Datei heraus:
/var/packages/WebStation/etc/PHPSettings.json

Für jedes der vorhanden PHP Profile findet man hierin den Tag des Profilnamens "profile_name" als auch die Profilbeschreibung "profile_desc".

Ich hoffe das hilft dir um für dich den richtigen <String> zu identifizieren.
 
  • Like
Reaktionen: MattCB und Bebop1983

abrocksi

Benutzer
Mitglied seit
27. Dez 2013
Beiträge
240
Punkte für Reaktionen
79
Punkte
28
Hi Luddi,

spricht etwas dagegen die Profile hier per Konsole zu löschen, wenn man tatsächlich nur noch PHP 7.4 im Einsatz hat?

908953b8-4bba-4dcd-a032-aba1f673d71f => PHP 5.6
16a61a86-2746-4c15-9b59-ccd1d6bab3e8 => PHP 7.2
41839f28-7688-42af-892c-4dcd7e1281cd => PHP 7.3

665b9abc-6393-4641-b6a9-4258b47ad0b1 => PHP 7.4

1671129100947.png

Wundere mich, dass das Synology nicht löscht, wenn man die Pakete 5.6 - 7.3 entfernt.

cheers,
abrocksi
 

Bebop1983

Benutzer
Mitglied seit
27. Apr 2021
Beiträge
3
Punkte für Reaktionen
0
Punkte
1
Ich habe die PHPSettings.json geöffnet, per nano, geöffnet. Diese ist aber leer.
 

abrocksi

Benutzer
Mitglied seit
27. Dez 2013
Beiträge
240
Punkte für Reaktionen
79
Punkte
28
sieht bei mir so aus:
1671132671147.png
 

Bebop1983

Benutzer
Mitglied seit
27. Apr 2021
Beiträge
3
Punkte für Reaktionen
0
Punkte
1
Die Datei ist schon im Verzeichnis aber wenn ich die öffne ist sie leer.
Folgende meldung habe ich nun.
1671133614400.png

Und in den Nextcloudeinstellungen habe ich folgendes:
1671135289764.png
 
Zuletzt bearbeitet:


 

Kaffeautomat

Wenn du das Forum hilfreich findest oder uns unterstützen möchtest, dann gib uns doch einfach einen Kaffee aus.

Als Dankeschön schalten wir deinen Account werbefrei.

:coffee:

Hier gehts zum Kaffeeautomat