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

在本地Apache2环境下配置Nginx共用phpMyAdmin遇阻求助

Apache与Nginx共用phpMyAdmin排查解决步骤
  • 确认phpMyAdmin安装路径
    先检查系统默认的phpMyAdmin路径是否存在,执行命令:

    ls /usr/share/phpmyadmin/
    

    若不存在,需确认phpMyAdmin的实际安装位置。

  • 配置Nginx域名的phpMyAdmin规则
    编辑你的Nginx域名配置文件(通常在/etc/nginx/sites-available/my_domain),在server块内添加以下规则:

    location /phpmyadmin {
        root /usr/share;
        index index.php index.html index.htm;
    
        location ~ ^/phpmyadmin/(.+\.php)$ {
            root /usr/share;
            fastcgi_pass unix:/run/php/php8.1-fpm.sock; # 替换为你系统对应的PHP-FPM套接字路径
            fastcgi_index index.php;
            fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
            include fastcgi_params;
        }
    
        location ~* ^/phpmyadmin/(.+\.(jpg|jpeg|gif|css|png|js|ico|html|xml|txt))$ {
            root /usr/share;
        }
    }
    

    注意:PHP-FPM套接字路径需与系统实际版本匹配,比如php7.4-fpm.sock或php8.2-fpm.sock,可通过ls /run/php/查看。

  • 修复权限与PHP-FPM配置
    确保phpMyAdmin目录权限允许PHP-FPM进程访问:

    sudo chown -R www-data:www-data /usr/share/phpmyadmin/
    

    检查PHP-FPM配置文件(如/etc/php/8.1/fpm/pool.d/www.conf),确认user和group均设置为www-data。

  • 验证配置并重启服务
    测试Nginx配置合法性:

    sudo nginx -t
    

    配置无误后,重启相关服务:

    sudo systemctl restart nginx
    sudo systemctl restart php8.1-fpm # 替换为对应PHP版本的FPM服务
    
  • 处理端口冲突(若存在)
    若Apache和Nginx同时监听80/443端口,需修改其中一个服务的监听端口:

    1. 编辑Apache的/etc/apache2/ports.conf,将Listen 80改为Listen 8080(可自定义其他未占用端口)
    2. 重启Apache:
      sudo systemctl restart apache2
      

    之后通过Nginx的域名访问http://your_domain/phpmyadmin即可。

  • 检查phpMyAdmin核心配置
    打开/etc/phpmyadmin/config.inc.php,确认数据库连接参数($cfg['Servers'][$i]['host']等)正确,若需要可添加$cfg['PmaAbsoluteUri'] = 'http://your_domain/phpmyadmin/';指定访问路径。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.27 04:57:19