CentOS安装phpMyAdmin

最后更新于:2023-04-14 11:14:49

1、下载phpMyAdmin最新版

官网:https://www.phpmyadmin.net/

2、 上传并解压

cd /usr/local/src
rz 下载的phpMyAdmin安装包
unzip phpMyAdmin.zip
 
cp phpMyAdmin /usr/local/

3、nginx配置phpMyAdmin

vim /usr/local/nginx/conf/nginx.conf
server {
        listen 8090;#根据自己情况设置
        server_name localhost;#根据自己情况设置
        access_log /usr/local/phpMyAdmin/access.log ;#根据自己情况设置
              location / {
               root /usr/local/phpMyAdmin/;#根据自己情况设置
               index index.php;
        }
        location ~ \.php$ {
               root /usr/local/phpMyAdmin/;#根据自己情况设置
               fastcgi_pass  127.0.0.1:9000;
               #fastcgi_pass  unix:/var/run/php-fpm/php-fpm.sock;
               fastcgi_index index.php;
               fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
               include fastcgi_params;
        }
        location ~ /\.ht {
               deny all;
        }
}

4、赋予nginx访问phpMyAdmin的会话权限

chown -R root:nginx /usr/local/phpMyAdmin

5、重载nginx配置文件

nginx -s reload

6、重启nginx

systemctl restart mysqld.service

7、访问phpMyAdmin

浏览器访问nginx设置好的端口和域名,以上面的nginx配置为例

http://localhost:8090/

============ ==================== ==错误提示 ============ ======================

错误

phpmyadmin mysqli_real_connect(): (HY000/2002): No such file or directory

解决方法

phpmyadmin目录中的配置文件config.sample.inc.php改成config.inc.php 
vim config.inc.php 
找到: 
$cfg['Servers'][$i]['host'] = 'localhost'; 
改成: 
$cfg['Servers'][$i]['host'] = '127.0.0.1'; 
保存退出

错误②

phpmyadmin4.0系列通通加载缓慢的最终原因是最近phpmyadmin的官网经常打不开,而phpmyadmin页面会自动检查官网上的程序 版本更新,所以当你进入phpmyadmin管理页面点击数据库的时候phpmyadmin一直在尝试连接官网从而把整个打开过程拖得很慢。

最终的解决办法是不让phpmyadmin检查更新,

cd /usr/local/phpmyadmin
vim version_check.php

具体修改如下:

if (isset($_SESSION['cache']['version_check'])
  && time() < $_SESSION['cache']['version_check']['timestamp'] + 3600 * 6
) {
  $save = false;
  $response = $_SESSION['cache']['version_check']['response'];
} else {
//  $save = true;
//  $file = 'http://www.phpmyadmin.net/home_page/version.json';
//  if (ini_get('allow_url_fopen')) {
//    $response = file_get_contents($file);
//  } else if (function_exists('curl_init')) {
//    $curl_handle = curl_init($file);
//    curl_setopt($curl_handle, CURLOPT_RETURNTRANSFER, 1);
//    $response = curl_exec($curl_handle);
//  }
}

上面代码是通过注释掉else{......}中间这段来取消phpmyadmin连接官网version.json来检查更新

修改完后phpmyadmin马上又回到秒开了。