PHP本地环境怎样配置MySQL端口_PHP本地环境配MySQL端口技巧【要点】
技术百科
雪夜
发布时间:2026-01-15
浏览: 次 MySQL默认端口3306,改端口需先查占用(Windows用netstat,macOS/Linux用lsof或ss),修改my.cnf/my.ini中[mysqld]段port参数并重启服务,PHP连接时须用127.0.0.1而非localhost以走TCP并指定端口。
MySQL 默认端口是 3306,改端口前先确认是否被占用
本地启动 MySQL 失败、PHP 连不上数据库,十有八九是端口冲突。Windows 上常见被 Skype、某些杀毒软件或另一个 MySQL 实例占着 3306;macOS/Linux 则可能被 Homebrew 启动的旧服务或 Docker 容器占用。
- 查端口占用(Windows):
netstat -ano | findstr :3306,再用tasklist | findstr "PID"看进程名 - 查端口占用(macOS/Linux):
lsof -i :3306或sudo ss -tulpn | grep :3306 - 别直接 kill 进程,先判断是不是你真不需要的服务——比如 Skype 默认会抢
3306,可在其设置里关掉“使用端口作为替代”
修改 MySQL 配置文件中的 port 参数
PHP 本身不配端口,它靠连接时指定的端口找 MySQL。真正要改的是 MySQL 的配置文件(my.cnf 或 my.ini),位置因安装方式而异:
- XAMPP:路径通常是
C:\xampp\mysql\bin\my.ini(Windows)或/Applications/XAMPP/etc/my.cnf(macOS) - MAMP:Windows 是
C:\MAMP\conf\my.cnf,macOS 是/Applications/MAMP/conf/my.cnf - 手动编译/Homebrew:配置文件可能在
/etc/my.cnf、/usr/local/etc/my.cnf或$(brew --prefix mysql)/my.cnf - 找到
[mysqld]段,在下面加一行:port = 3307(或其他未被占用的端口) - 改完必须重启 MySQL 服务,否则不生效;XAMPP/MAMP 界面点“Restart”即可,命令行用
sudo brew services restart mysql或sudo systemctl restart mysql
PHP 连接时显式指定新端口,不能只靠 localhost
很多人以为改了 MySQL 配置就万事大吉,结果 PHP 还是连不上——因为 localhost 在 MySQL 协议里有特殊含义:它强制走 socket 文件(Unix domain socket),**完全忽略端口设置**。
- 正确做法是把主机名从
localhost换成127.0.0.1,这样才会走 TCP/IP 并读取你设的端口 - PDO 连接示例:
$pdo = new PDO('mysql:host=127.0.0.1;port=3307;dbname=test', 'root', ''); -
mysqli 连接示例:
$mysqli = new mysqli('127.0.0.1', 'root', '', 'test', 3307); - 如果用
mysql_connect()(已废弃,别用),也必须传第 4 个参数$port
验证端口是否生效,别只信 PHP 报错
PHP 报 “Connection refused” 不一定代表端口没开,可能是 MySQL 根本没起来,或防火墙拦了。最稳的验证方式是绕过 PHP 直接测 MySQL 本身:
- 终端执行:
mysql -h 127.0.0.1 -P 3307 -u root -p(注意-P是大写,小写-p是密码) - 如果能进 MySQL 命令行,说明服务、端口、权限全 OK;如果报
Can't connect to MySQL server,重点检查 MySQL
是否运行、配置是否 reload、端口是否拼错
- PHP 中可用
mysqli_connect_error()或PDO::errorInfo()看具体错误码,比如2003是连接失败,1045是权限问题,二者处理方式完全不同
# ai
# 的是
# 才是
# windows
# 重启
# 改了
# 才会
# 不需要
# app
# mac
# 命令行
# 配置文件
# linux
# 防火墙
# 端口
# docker
# macos
# 数据库
# 杀毒软件
# 万事大吉
# php
# mysql
# pdo
# unix
# mysqli
# 连不上
相关栏目:
<?muma
$count = M('archives')->where(['typeid'=>$field['id']])->count();
?>
【
AI推广<?muma echo $count; ?>
】
<?muma
$count = M('archives')->where(['typeid'=>$field['id']])->count();
?>
【
SEO优化<?muma echo $count; ?>
】
<?muma
$count = M('archives')->where(['typeid'=>$field['id']])->count();
?>
【
技术百科<?muma echo $count; ?>
】
<?muma
$count = M('archives')->where(['typeid'=>$field['id']])->count();
?>
【
谷歌推广<?muma echo $count; ?>
】
<?muma
$count = M('archives')->where(['typeid'=>$field['id']])->count();
?>
【
百度推广<?muma echo $count; ?>
】
<?muma
$count = M('archives')->where(['typeid'=>$field['id']])->count();
?>
【
网络营销<?muma echo $count; ?>
】
<?muma
$count = M('archives')->where(['typeid'=>$field['id']])->count();
?>
【
案例网站<?muma echo $count; ?>
】
<?muma
$count = M('archives')->where(['typeid'=>$field['id']])->count();
?>
【
精选文章<?muma echo $count; ?>
】
相关推荐
- Win11应用商店下载慢怎么办 Win11更改DN
- Python项目维护经验_长期演进说明【指导】
- Win10怎样安装PPT模板_Win10安装PPT
- c++的STL算法库find怎么用 在容器中查找指
- php订单日志怎么导出excel_php导出订单日
- Win10怎样安装Excel数据分析工具_Win1
- 如何使用正则表达式批量替换重复的 *- 模式为固定
- Win11怎么连接蓝牙耳机_Win11蓝牙设备配对
- C++中的std::shared_from_thi
- Win11怎么关闭右下角弹窗_Win11拦截系统通
- Win11怎么更改电脑密码_Windows 11修
- Win11怎么设置虚拟键盘_打开Win11屏幕键盘
- c# 在高并发下使用反射发射(Reflection
- Win11怎么更改默认打开方式_Win11关联文件
- 如何在Windows中创建新的用户账户?(标准与管
- Win11怎么关闭通知消息_屏蔽Windows 1
- Win11怎么关闭触控板_Win11笔记本禁用触摸
- c++怎么使用std::filesystem遍历文
- Golang如何实现基本的用户注册_Golang用
- Win10怎么设置开机密码_Windows10账户
- Windows10如何更改桌面图标间距_Win10
- Win11怎么关闭边缘滑动手势_Windows11
- 如何在Golang中操作嵌套切片指针_Golang
- php会话怎么开启_session_start函数
- php嵌入式多设备通信怎么实现_php同时管理多个
- 如何更改Windows资源管理器的默认启动位置?(
- LINUX如何开放防火墙端口_Linux fire
- 如何关闭Win10自动更新更新_Win10系统自动
- 如何在Golang中实现邮件发送功能_Golang
- Win11怎么设置任务栏对齐方式_Windows1
- Go 中 defer 在 goroutine 内部
- 一文详解网站被黑客入侵挂马解决办法
- Win11如何设置环境变量 Win11添加和修改系
- Win10如何更改用户账户控制_Windows10
- Python深度学习实战教程_神经网络模型构建与训
- Win11怎么关闭自动维护 Win11禁用系统自动
- Windows10任务栏图标变成白色文件_Win1
- Windows 11登录时提示“用户配置文件服务登
- c++怎么设置线程优先级与cpu亲和性_c++ 多
- Win11截图快捷键是什么_Win11自带截图工具
- Python字符串处理进阶_切片方法解析【指导】
- php485支持哪些操作系统_php485跨系统支
- Python配置文件操作教程_JSONINIYAM
- Windows怎样关闭开始菜单广告_Windows
- Win11时间不对怎么同步_Win11自动校准互联
- Windows10如何查看蓝屏日志_Win10使用
- php8.4xdebug无法调试怎么办_php8.
- 如何使用Golang实现跨域请求支持_Golang
- 如何在 Django 中修改用户密码后保持会话不丢
- php订单日志怎么按金额排序_php按订单金额排序


QQ客服