You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

升级后降级PHP致Nextcloud出现内部服务器错误无法解决

Nextcloud内部服务器错误排查请求

环境信息

  • Nextcloud版本:23.0.12
  • 操作系统版本:Raspbian GNU/Linux 10 (buster) armv7l Linux 5.10.103-v7l+ #1529 SMP Tue Mar 8 12:24:00 GMT 2022 armv7l GNU/Linux
  • Apache版本:2.4.54
  • PHP版本:7.3

问题现象

访问Nextcloud实例时出现:

Internal Server Error

服务器遇到内部错误,无法完成您的请求。
如果该错误多次出现,请联系服务器管理员,并在报告中附上以下技术细节。
更多详情可在服务器日志中查看。

同时,/var/www/html下静态站点中的标准phpinfo.php文件也无法加载。

背景说明

原本计划升级PHP版本以更新Nextcloud到更稳定的新版本,误升级到PHP 8.2(该版本对所有稳定版Nextcloud来说过高),当时仅提示PHP版本过高,系统看似正常。随后尝试降级到PHP 7.4失败,于是决定回退到原本正常运行的基于PHP 7.3的Nextcloud 23实例,但始终无法解决当前错误。已排除Cloudflare影响(局域网访问同样报错)。

这是首次遇到该错误。

复现步骤

  • 访问Nextcloud实例

已尝试的修复操作

  • 确认已安装正确的PHP包(包括可选依赖包)
  • 确认可以连接到Redis套接字
  • 在php.ini中添加extension=xxx(无效,已恢复)

日志及配置信息

Nextcloud管理员日志

Unavailable

Nextcloud config.php配置

<?php
$CONFIG = array (
  'instanceid' => 'oca5n1b35f4a',
  'passwordsalt' => 'REDACTED',
  'secret' => 'REDACTED',
  'trusted_domains' => 
  array (
    REDACTED
  ),
  'datadirectory' => '/home/pi/nextcloud',
  'dbtype' => 'mysql',
  'version' => '23.0.12.2',
  'overwriteprotocol' => 'https',
  'overwrite.cli.url' => 'http://192.168.1.217',
  'dbname' => 'nextcloud',
  'dbhost' => 'localhost',
  'dbport' => '',
  'dbtableprefix' => 'oc_',
  'mysql.utf8mb4' => true,
  'dbuser' => 'REDACTED',
  'dbpassword' => 'REDACTED',
  'installed' => true,
  'has_rebuilt_cache' => true,
  'mail_smtpmode' => 'smtp',
  'mail_sendmailmode' => 'smtp',
  'maintenance' => false,
  'app_install_overwrite' =>
  array (
    0 => 'files_external_gdrive',
    1 => 'breezedark',
    2 => 'spreed',
    3 => 'deck',
    4 => 'forms',
    5 => 'admin_notifications',
    6 => 'pdfdraw',
  ),
  'theme' => '',
  'loglevel' => 2,
  'mail_smtpsecure' => 'ssl',
  'mail_from_address' => 'nexus',
  'mail_domain' => 'jvadair.com',
  'mail_smtphost' => 'REDACTED',
  'mail_smtpport' => 'REDACTED',
  'mail_smtpauth' => 1,
  'mail_smtpname' => 'REDACTED',
  'mail_smtppassword' => 'REDACTED',
  'allow_local_remote_servers' => true,
  'memcache.local' => '\\OC\\Memcache\\Redis',
  'memcache.locking' => '\\OC\\Memcache\\Redis',
  'redis' => 
  array (
    'host' => 'localhost',
    'port' => 6379,
  ),

  'ncd_admin_settings' => 
  array (
    'disallow_aria2_settings' => '1',
  ),
);

Apache error.log最后7行

[Fri Jan 20 07:51:54.319803 2023] [mpm_prefork:notice] [pid 14954] AH00170: caught SIGWINCH, shutting down gracefully
PHP Warning:  PHP Startup: Unable to load dynamic library 'mysqlnd.so' (tried: /usr/lib/php/20190902/mysqlnd.so (/usr/lib/php/20190902/mysqlnd.so: cannot open shared object file: No such file or directory), /usr/lib/php/20190902/mysqlnd.so.so (/usr/lib/php/20190902/mysqlnd.so.so: cannot open shared object file: No such file or directory)) in Unknown on line 0
PHP Warning:  PHP Startup: Unable to load dynamic library 'mysqli.so' (tried: /usr/lib/php/20190902/mysqli.so (/usr/lib/php/20190902/mysqli.so: cannot open shared object file: No such file or directory), /usr/lib/php/20190902/mysqli.so.so (/usr/lib/php/20190902/mysqli.so.so: cannot open shared object file: No such file or directory)) in Unknown on line 0
PHP Warning:  PHP Startup: Unable to load dynamic library 'pdo_mysql.so' (tried: /usr/lib/php/20190902/pdo_mysql.so (/usr/lib/php/20190902/pdo_mysql.so: cannot open shared object file: No such file or directory), /usr/lib/php/20190902/pdo_mysql.so.so (/usr/lib/php/20190902/pdo_mysql.so.so: cannot open shared object file: No such file or directory)) in Unknown on line 0
PHP Warning:  PHP Startup: Unable to load dynamic library 'wddx.so' (tried: /usr/lib/php/20190902/wddx.so (/usr/lib/php/20190902/wddx.so: cannot open shared object file: No such file or directory), /usr/lib/php/20190902/wddx.so.so (/usr/lib/php/20190902/wddx.so.so: cannot open shared object file: No such file or directory)) in Unknown on line 0
[Fri Jan 20 07:51:54.764702 2023] [mpm_prefork:notice] [pid 13652] AH00163: Apache/2.4.54 (Debian) OpenSSL/1.1.1n mod_wsgi/4.6.5 Python/2.7 configured -- resuming normal operations
[Fri Jan 20 07:51:54.764918 2023] [core:notice] [pid 13652] AH00094: Command line: '/usr/sbin/apache2'

Apache access.log最后10行

[Thu Jan 19 17:50:41.717151 2023] [core:notice] [pid 13831] AH00094: Command line: '/usr/sbin/apache2'
[Thu Jan 19 17:52:08.432849 2023] [mpm_prefork:notice] [pid 13831] AH00170: caught SIGWINCH, shutting down gracefully
PHP Warning:  PHP Startup: Unable to load dynamic library 'mysqlnd.so' (tried: /usr/lib/php/20190902/mysqlnd.so (/usr/lib/php/20190902/mysqlnd.so: cannot open shared object file: No such file or directory), /usr/lib/php/20190902/mysqlnd.so.so (/usr/lib/php/20190902/mysqlnd.so.so: cannot open shared object file: No such file or directory)) in Unknown on line 0
PHP Warning:  PHP Startup: Unable to load dynamic library 'mysqli.so' (tried: /usr/lib/php/20190902/mysqli.so (/usr/lib/php/20190902/mysqli.so: cannot open shared object file: No such file or directory), /usr/lib/php/20190902/mysqli.so.so (/usr/lib/php/20190902/mysqli.so.so: cannot open shared object file: No such file or directory)) in Unknown on line 0
PHP Warning:  PHP Startup: Unable to load dynamic library 'pdo_mysql.so' (tried: /usr/lib/php/20190902/pdo_mysql.so (/usr/lib/php/20190902/pdo_mysql.so: cannot open shared object file: No such file or directory), /usr/lib/php/20190902/pdo_mysql.so.so (/usr/lib/php/20190902/pdo_mysql.so.so: cannot open shared object file: No such file or directory)) in Unknown on line 0
PHP Warning:  PHP Startup: Unable to load dynamic library 'wddx.so' (tried: /usr/lib/php/20190902/wddx.so (/usr/lib/php/20190902/wddx.so: cannot open shared object file: No such file or directory), /usr/lib/php/20190902/wddx.so.so (/usr/lib/php/20190902/wddx.so.so: cannot open shared object file: No such file or directory)) in Unknown on line 0
[Thu Jan 19 17:52:08.846023 2023] [mpm_prefork:notice] [pid 13913] AH00163: Apache/2.4.54 (Debian) OpenSSL/1.1.1n mod_wsgi/4.6.5 Python/2.7 configured -- resuming normal operations
[Thu Jan 19 17:52:08.846245 2023] [core:notice] [pid 13913] AH00094: Command line: '/usr/sbin/apache2'
[Thu Jan 19 17:52:35.731883 2023] [php7:error] [pid 13917] [client 172.71.254.125:57850] PHP Fatal error:  Uncaught Error: Call to undefined function \xc2\xa0\xc2\xa0phpinfo() in /var/www/html/phpinfo.php:2\nStack trace:\n#0 {main}\n  thrown in /var/www/html/phpinfo.php on line 2
[Thu Jan 19 17:55:44.057340 2023] [php7:error] [pid 13969] [client 162.158.103.146:9038] PHP Fatal error:  Uncaught Error: Call to undefined function \xc2\xa0\xc2\xa0phpinfo() in /var/www/html/phpinfo.php:2\nStack trace:\n#0 {main}\n  thrown in /var/www/html/phpinfo.php on line 2

Nextcloud日志文件状态

Unavailable - nextcloud.log未写入内容

解决建议

从日志分析,核心问题是PHP降级后环境损坏,导致扩展加载失败、基础PHP函数无法调用:

  1. 清理无效PHP扩展配置

    • 打开PHP 7.3的所有配置文件(/etc/php/7.3/apache2/php.ini、/etc/php/7.3/cli/php.ini及/etc/php/7.3/mods-available/下相关文件),删除extension=mysqlnd.so、extension=mysqli.so、extension=pdo_mysql.so、extension=wddx.so这些无效条目。
    • 执行php -v和php -m验证PHP是否能正常启动并加载核心扩展。
  2. 重装PHP 7.3及依赖

    • 彻底卸载现有PHP:
      sudo apt purge php7.3* libapache2-mod-php7.3
      sudo apt autoremove && sudo apt autoclean
      
    • 重新安装PHP 7.3及Nextcloud必备扩展:
      sudo apt install php7.3 libapache2-mod-php7.3 php7.3-mysql php7.3-curl php7.3-gd php7.3-intl php7.3-mbstring php7.3-xml php7.3-zip php7.3-redis
      
    • 启用PHP模块并重启Apache:
      sudo a2enmod php7.3
      sudo systemctl restart apache2
      
  3. 验证PHP基础功能

    • 重新创建/var/www/html/phpinfo.php,内容仅为:
      <?php phpinfo(); ?>
      
    • 访问该文件,确认PHP正常运行。
  4. 修复Nextcloud环境

    • 重置Nextcloud文件权限:
      sudo chown -R www-data:www-data /home/pi/nextcloud
      sudo find /home/pi/nextcloud -type d -exec chmod 750 {} \;
      sudo find /home/pi/nextcloud -type f -exec chmod 640 {} \;
      
    • 运行Nextcloud维护命令:
      sudo -u www-data php /home/pi/nextcloud/occ maintenance:mode --on
      sudo -u www-data php /home/pi/nextcloud/occ maintenance:repair
      sudo -u www-data php /home/pi/nextcloud/occ maintenance:mode --off
      

内容的提问来源于stack exchange,提问作者jvadair

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.03 20:25:59