Ich habe einen Apache2-Docker-Container und /var/www/html/nextcloud
einen gemounteten Pfad mit den Nextcloud-Dateien darin. Wenn ich jedoch versuche, den Cronjob ( /var/www/html/nextcloud/cron.php
) von Nextcloud mit diesem Befehl auszuführen:
docker exec -u www-data webserver php /var/www/html/nextcloud/cron.php
Ich erhalte immer den Fehler:
OCP\HintException: [0]: Memcache \OC\Memcache\APCu not available for local cache (Is the matching PHP module installed and enabled?)
Und ja, es ist aktiviert.
Apache-Virtualhost-Konfiguration:
<VirtualHost *:80>
ServerName cloud.domain.de
Redirect / https://cloud.domain.de/
</VirtualHost>
<VirtualHost *:443>
DocumentRoot "/var/www/html/nextcloud"
<IfModule mod_headers.c>
Header always set Strict-Transport-Security "max-age=15552000; includeSubDomains"
</IfModule>
SSLEngine on
SSLCertificateFile "/etc/letsencrypt/live/cloud.domain.de/cert.pem"
SSLCertificateKeyFile "/etc/letsencrypt/live/cloud.domain.de/privkey.pem"
SSLCertificateChainFile "/etc/letsencrypt/live/cloud.domain.de/chain.pem"
</VirtualHost>
und damit läuft die Cloud einwandfrei, nur der Cronjob läuft nicht.
DerNextcloud-Konfiguration:
<?php
$CONFIG = array (
'htaccess.RewriteBase' => '/',
'memcache.local' => '\\OC\\Memcache\\APCu',
'apps_paths' =>
array (
0 =>
array (
'path' => '/var/www/html/nextcloud/apps',
'url' => '/apps',
'writable' => false,
),
1 =>
array (
'path' => '/var/www/html/nextcloud/custom_apps',
'url' => '/custom_apps',
'writable' => true,
),
),
'instanceid' => 'oc0lur3krx8v',
'passwordsalt' => 'dZemkG1vxBvlOJWKbM2qfby4+zQnHf',
'secret' => '7kv+ZkKR7CLhFckepPJCpxI4eWZWO9EOEW3qzgpg8TIhLsE9',
'trusted_domains' =>
array (
0 => 'IP:99',
1 => 'cloud.domain.de',
),
'datadirectory' => '/var/www/html/nextcloud/data',
'dbtype' => 'mysql',
'version' => '23.0.0.10',
'overwrite.cli.url' => 'http://IP',
'dbname' => 'nextcloud',
'dbhost' => 'IP',
'dbport' => '',
'dbtableprefix' => 'oc_',
'mysql.utf8mb4' => true,
'dbuser' => 'nextcloud',
'dbpassword' => '9*oh5VM7h2yHj-(Q',
'installed' => true,
'default_phone_region' => 'DE',
'updater.secret' => '$2y$10$YZw2sSl8ssbt1SOokyC9kOAtui2gmabmhKCmeVzlBTU1rGqVRisFm',
'loglevel' => 2,
'maintenance' => false,
'app_install_overwrite' =>
array (
0 => 'occweb',
),
);
ich habe memcached jetzt schon rauf runter den Container neu gemacht und ewig in der Config rumgeschrieben aber es bringt alles nichts findet jemand den Fehler?
DIE INFO:
IP
ist ein Platzhalter für die IP-Adresse des Servers.
domain.de
ist ein Platzhalter für den Domänennamen, da ich die Domäne nicht veröffentlichen möchte (keine Pflicht).
Antwort1
Versuchen Sie, je nach PHP- oder Betriebssystem-Setup einen entsprechenden Pfad apc.enable_cli=1
einzustellen ./etc/php/8.0/mods-available/apcu.ini
Bei einigen Benutzern trat das gleiche Problem auf und sie haben es durch die Anwendung der obigen Änderung behoben: https://github.com/nextcloud/server/issues/27781#issuecomment-873515055
Außerdem ist APCu, wie im Nextcloud-Administratorhandbuch (Nextcloud-Konfiguration -> Speicher-Caching -> APCu) angegeben, in der CLI standardmäßig deaktiviert: https://docs.nextcloud.com/server/latest/admin_manual/configuration_server/caching_configuration.html#id1
APCu ist in der CLI standardmäßig deaktiviert, was zu Problemen mit den Cron-Jobs von Nextcloud führen kann. Stellen Sie sicher, dass Sie in Ihrer Konfigurationsdatei das Attribut
apc.enable_cli
„to“ festlegen oder es an den Cron-Job-Aufruf anhängen.1
php.ini
--define apc.enable_cli=1