记一次因为安装php扩展导致nextcloud登录无法正常跳转的解决过程。
前面是一直正常运行的状态,然后看到日志打印有很多错误信息,
Error PHP You are using a fallback implementation of the intl extension. Installing the native one is highly recommended instead. at /www/wwwroot/xxx/3rdparty/patchwork/utf8/src/Patchwork/Utf8/Bootup/intl.php#18 2019-11-19T17:24:38+0800
根据网上信息可能是缺少php-intl
扩展导致(解决方案参考)的,于是通过
yum install php-intl -y
安装并重启php
systemctl restart php-fpm
接下来进入首页提示登录,输入用户名以及密码之后没有跳转到file文件界面,而是又跳转到了登录界面,一直循环。
在网上搜索了一下,发现有挺多人出现这个问题的,这里记录一下解决方案。
-
确定你的php运行用户及用户组
vi /etc/php-fpm.d/www.conf
查看配置文件的
user
和group
两个参数对应的值,下面贴出我的用户和用户组:; RPM: apache user chosen to provide access to the same directories as httpd user = www ; RPM: Keep a group allowed to write in log dir. group = work
以上配置可以看到我的用户为
www
而用户组为work
。 -
检测php session用户组
ls -l /var/lib/php/ --- drwxrwx--- 4 root apache 86 Nov 19 04:50 opcache drwxrwx--- 2 apache apache 159744 Nov 19 05:04 session drwxrwx--- 2 root apache 6 Oct 22 05:19 wsdlcache
猜测可能是我在安装
php-intl
扩展之后修改了该目录的用户组,而php本身的用户组www
、work
就没有访问权限,导致这个问题出现。修改如下:chown -R www:work /var/lib/php/session/ chown -R :work /var/lib/php/opcache/ chown -R :work /var/lib/php/wsdlcache/
再次查看目录用户组:
ls -l /var/lib/php/ --- drwxrwx--- 4 root work 86 Nov 19 04:50 opcache drwxrwx--- 2 www work 159744 Nov 19 05:04 session drwxrwx--- 2 root work 6 Oct 22 05:19 wsdlcache
经过上述修改之后,通过login页面登录正常跳转到内容界面。
参考