灰儿 发表于 2023-10-15 23:20:52

nextcloud运行cron.php出错,提示APCu不可用于本地缓存解决办法

进入nextcloud后台管理“概览”,安全与设置警告提示:
系统计划任务超过X小时未运行,请查看…

同时在宝塔的计划任务中运行cron时也提示出错,执行命令为:
sudo -u www php -f /www/wwwroot/nextcloud/cron.php日志错误:
OCP\HintException: : Memcache \OC\Memcache\APCu not available for local cache (Is the matching PHP module installed and enabled?)
解决方法:
自nextcloud 21起,需要在php配置中加上 apc.enable_cli=1 ,才能保证apcu缓存正常工作。

以下以宝塔面板安装为例,分别说明PHP-7.X 和PHP-8.X 的配置方法。

如果是PHP-7.X,可以在 软件商店 > PHP7.X > 配置文件 > 末尾的地方追加apc.enable_cli=1,重启一下PHP就好了

如果是PHP-8.X,发现在cli模式下加载的配置文件是php-cli.ini,不是php.ini文件,需要在 /www/server/php/80/etc/php-cli.ini配置文件的末尾的地方追加apc.enable_cli=1,

或者在宝塔面板的终端中输入php --ini命令搜索,查看输出,找出路径,我这里为:
Configuration File (php.ini) Path: /www/server/php/80/etc
Loaded Configuration File:         /www/server/php/80/etc/php-cli.ini
Scan for additional .ini files in: (none)
Additional .ini files parsed:      (none)
如果宝塔中同时安装了PHP-7.X 和PHP-8.X 两个版本的php,输入php --ini命令,可能会显示另一版的配置文件路径,如下:
Configuration File (php.ini) Path: /www/server/php/74/etc
Loaded Configuration File:         /www/server/php/74/etc/php.ini
Scan for additional .ini files in: (none)
Additional .ini files parsed:      (none)此时宝塔的计划任务中运行PHP程序时,必须指定PHP程序的路径,不然cron时也提示出错,执行命令示例如下:
sudo -u www /www/server/php/80/bin/php -f/www/wwwroot/shjyy.cn/cron.php
相关链接:
http://www.admin365.cn/thread-112535-1-1.htmlnextcloud运行cron.php出错,报错:OC\HintException: : Memcache




页: [1]
查看完整版本: nextcloud运行cron.php出错,提示APCu不可用于本地缓存解决办法