Apache2/Nextcloud Docker 오류: "\OC\Memcache\APCu를 로컬 캐시에 사용할 수 없습니다."

Apache2/Nextcloud Docker 오류: "\OC\Memcache\APCu를 로컬 캐시에 사용할 수 없습니다."

Apache2 Docker 컨테이너가 있고 /var/www/html/nextcloud마운트된 경로에 Nextcloud 파일이 있습니다. 그러나 /var/www/html/nextcloud/cron.php다음 명령을 사용하여 Nextcloud의 cronjob( )을 실행하려고 하면 :

docker exec -u www-data webserver php /var/www/html/nextcloud/cron.php

항상 오류가 발생합니다.

OCP\HintException: [0]: Memcache \OC\Memcache\APCu not available for local cache (Is the matching PHP module installed and enabled?)

네, 활성화되어 있습니다.

Apache 가상호스트 구성:

<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>

그러면 클라우드가 잘 작동합니다. cronjob만 실행되고 있지 않습니다.

그만큼Nextcloud 구성:

<?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',
  ),
);

나는 이미 memcached를 새로 만들고 구성에 영원히 작성한 컨테이너 아래로 내려갔지만 모든 것이 아무 것도 가져오지 않고 오류를 찾지 못합니까?

정보:

IP서버의 IP 주소에 대한 자리 표시자입니다.

domain.de도메인을 게시하고 싶지 않기 때문에 도메인 이름에 대한 자리 표시자입니다(필수는 아님).

답변1

PHP 또는 OS 설정에 따라 해당 경로를 apc.enable_cli=1설정해 보세요 ./etc/php/8.0/mods-available/apcu.ini

일부 사용자는 동일한 문제를 경험하고 위의 변경 사항을 적용하여 해결했습니다. https://github.com/nextcloud/server/issues/27781#issuecomment-873515055

또한 Nextcloud 관리자 매뉴얼(Nextcloud 구성 -> 메모리 캐싱 -> APCu)에 명시된 대로 APCu는 CLI에서 기본적으로 비활성화되어 있습니다. https://docs.nextcloud.com/server/latest/admin_manual/configuration_server/caching_configuration.html#id1

APCu는 CLI에서 기본적으로 비활성화되어 있어 nextcloud의 크론 작업에 문제가 발생할 수 있습니다. 구성 파일 에 apc.enable_cli 를 설정했는지 확인하거나 크론 작업 호출에 추가하세요.1php.ini--define apc.enable_cli=1

관련 정보