为何PhpMyAdmin占用Apache端口?无法同时运行CodeIgniter与PhpMyAdmin
问题分析与解决方案
你的问题核心是Web服务器端口冲突或访问配置不匹配,和MySQL端口无关(所有MySQL配置都是3306,无冲突),分两种常见场景解决:
场景1:用PHP内置服务器运行CodeIgniter
如果你是通过php -S localhost:8080启动CodeIgniter,这个命令会直接占用8080端口。而你的Apache配置(httpd.conf)也设置了Listen 8080,导致Apache无法启动——PhpMyAdmin依赖Apache,自然无法访问。关闭CodeIgniter后,Apache能正常抢占8080端口,PhpMyAdmin恢复正常。
解决办法二选一:
- 修改CodeIgniter内置服务器的端口,避免和Apache冲突:
之后访问CodeIgniter用php -S localhost:8081localhost:8081,访问PhpMyAdmin用localhost:8080/phpmyadmin(确保PhpMyAdmin文件放在Apache的Web根目录下的phpmyadmin文件夹)。 - 修改Apache的监听端口为默认80,编辑httpd.conf:
重启Apache后,PhpMyAdmin可以通过Listen 80 ServerName localhost:80localhost/phpmyadmin访问,CodeIgniter继续用8080端口的内置服务器运行。
场景2:PhpMyAdmin和CodeIgniter都部署在同一Apache上
你的Apache仅监听8080端口,但你访问PhpMyAdmin时用了localhost(默认指向80端口),Apache没在80端口提供服务,所以连接失败。关闭CodeIgniter后,你可能启动了另一台监听80端口的Apache服务,因此PhpMyAdmin能正常访问。
解决办法:
- 访问PhpMyAdmin时必须加上8080端口,正确路径为
localhost:8080/phpmyadmin。 - 确认PhpMyAdmin的文件放置位置:必须放在Apache配置的Web根目录下(比如XAMPP的
htdocs、WAMP的www),且文件夹名为phpmyadmin(或对应你自定义的名称)。
内容的提问来源于stack exchange,提问作者Arsya
相关产品推荐
相关产品推荐

