php mySQL 和 XAMPP 的冲突端口

声明:本页面是StackOverFlow热门问题的中英对照翻译,遵循CC BY-SA 4.0协议,如果您需要使用它,必须同样遵循CC BY-SA许可,注明原文地址和作者信息,同时你必须将它归于原作者(不是我):StackOverFlow 原文地址: http://stackoverflow.com/questions/32173242/
Warning: these are provided under cc-by-sa 4.0 license. You are free to use/share it, But you must attribute it to the original authors (not me): StackOverFlow

提示:将鼠标放在中文语句上可以显示对应的英文。显示中英文
时间:2020-08-25 22:49:24  来源:igfitidea点击:

Conflicting ports of mySQL and XAMPP

phpmysqlapachexampp

提问by carlvdm

I've been using XAMPP/Apache for a while and recently decided to install MySQL. However it seems that they are conflicting. MySQL seems to be taking preference, and it functioning correctly, however XAMPP/Apache is giving me this error message when attempting to start Apache:

我已经使用 XAMPP/Apache 一段时间了,最​​近决定安装 MySQL。然而,它们似乎是矛盾的。MySQL 似乎优先,并且它运行正常,但是 XAMPP/Apache 在尝试启动 Apache 时给了我这个错误消息:

03:07:32 AM  [Apache]   Attempting to start Apache app...
03:07:33 AM  [Apache]   Status change detected: running
03:07:33 AM  [Apache]   Status change detected: stopped
03:07:33 AM  [Apache]   Error: Apache shutdown unexpectedly.
03:07:33 AM  [Apache]   This may be due to a blocked port, missing dependencies, 
03:07:33 AM  [Apache]   improper privileges, a crash, or a shutdown by another method.
03:07:33 AM  [Apache]   Press the Logs button to view error logs and check
03:07:33 AM  [Apache]   the Windows Event Viewer for more clues
03:07:33 AM  [Apache]   If you need more help, copy and post this
03:07:33 AM  [Apache]   entire log window on the forums

I tried following the instructions here: http://www.complete-concrete-concise.com/web-tools/how-to-change-the-apache-port-in-xampp

我尝试按照此处的说明进行操作:http: //www.complete-concrete-concise.com/web-tools/how-to-change-the-apache-port-in-xampp

And I've tried changing the document: httpd.conf in xampp/apache/conf

我已经尝试更改文档:xampp/apache/conf 中的 httpd.conf

Changing 'Listen 80' to various things, and after restarting the the application I had the same error message occur.

将“Listen 80”更改为各种内容,并在重新启动应用程序后出现相同的错误消息。

Would greatly appreciate any assistance in this matter. I'd prefer not to remove mySQL just to use XAMPP, but will if there is no way for them to both operate simultaneously.

非常感谢在这方面的任何帮助。我不想删除 mySQL 只是为了使用 XAMPP,但如果它们无法同时运行,我会删除。

Thanks in advance.

提前致谢。

EDIT:

编辑:

My reason for believing it is conflicting with MySQL is this:

我相信它与 MySQL 冲突的原因是:

03:26:51 AM  [mysql]    Problem detected!
03:26:51 AM  [mysql]    Port 3306 in use by ""C:\Program Files\MySQL\MySQL Server 5.6\bin\mysqld.exe" --defaults-file="C:\ProgramData\MySQL\MySQL Server 5.6\my.ini" MySQL56"!
03:26:51 AM  [mysql]    MySQL WILL NOT start without the configured ports free!
03:26:51 AM  [mysql]    You need to uninstall/disable/reconfigure the blocking application
03:26:51 AM  [mysql]    or reconfigure MySQL and the Control Panel to listen on a different port

I'm having some difficulties disabling mySQL temporarily to make use of XAMPP/Apache. Is there any way to change the ports so that they can co-exist?

我在暂时禁用 mySQL 以使用 XAMPP/Apache 时遇到了一些困难。有什么方法可以更改端口以便它们可以共存?

EDIT 2:

编辑2:

Tried to follow instructions here: http://silentlyrun.blogspot.com.au/2013/02/how-to-change-apache-n-mysql-port-for.html

尝试按照此处的说明进行操作:http: //silentlyrun.blogspot.com.au/2013/02/how-to-change-apache-n-mysql-port-for.html

I encounter these error messages after:

我在以下之后遇到这些错误消息:

09:13:22 AM  [main]     Initializing Modules
09:13:22 AM  [Apache]   Problem detected!
09:13:22 AM  [Apache]   Port 80 in use by "Unable to open process" with PID 4084!
09:13:22 AM  [Apache]   Apache WILL NOT start without the configured ports free!
09:13:22 AM  [Apache]   You need to uninstall/disable/reconfigure the blocking application
09:13:22 AM  [Apache]   or reconfigure Apache and the Control Panel to listen on a different port
09:13:22 AM  [Apache]   Problem detected!
09:13:22 AM  [Apache]   Port 443 in use by "Unable to open process" with PID 4084!
09:13:22 AM  [Apache]   Apache WILL NOT start without the configured ports free!
09:13:22 AM  [Apache]   You need to uninstall/disable/reconfigure the blocking application
09:13:22 AM  [Apache]   or reconfigure Apache and the Control Panel to listen on a different port

With these instructions, should the new port be the same? I assume so because they are both originally 80.

有了这些说明,新端口应该是一样的吗?我这么认为是因为他们原本都是 80 岁。

4. Search the string "Listen" in the file.
5. Replace port number 80 to any other unused port number.
6. Search for "ServerName" in the file.
7. Replace port number 80 to any other unused port number in the ServerName.

EDIT 3:

编辑 3:

For a reason unknown to me, XAMPP/MySQL works without issue after a reinstall and port change from the silentlyrun.blogspot link above. However XAMPP/Apache is still giving issues:

由于我不知道的原因,在从上面的 Silentlyrun.blogspot 链接重新安装和端口更改后,XAMPP/MySQL 可以正常工作。但是 XAMPP/Apache 仍然存在问题:

09:32:14 AM  [Apache]   Error: Apache shutdown unexpectedly.
09:32:14 AM  [Apache]   This may be due to a blocked port, missing dependencies, 
09:32:14 AM  [Apache]   improper privileges, a crash, or a shutdown by another method.
09:32:14 AM  [Apache]   Press the Logs button to view error logs and check
09:32:14 AM  [Apache]   the Windows Event Viewer for more clues
09:32:14 AM  [Apache]   If you need more help, copy and post this
09:32:14 AM  [Apache]   entire log window on the forums

回答by Ashish

To Resolve MySQL Port and Service conflict when already another MySQL Server is running, you need to follow following steps:-

要在另一个 MySQL 服务器正在运行时解决 MySQL 端口和服务冲突,您需要按照以下步骤操作:-

1) Close XAMPP Server

1) 关闭 XAMPP 服务器

2) Open file C:\xampp\mysql\bin\my.ini (C: is the default XAMPP Installation)

2)打开文件C:\xampp\mysql\bin\my.ini(C:是默认的XAMPP安装)

3) Replace the port number 3306 with 3307

3) 将端口号 3306 替换为 3307

# password = your_password

port = 3307

socket = "C:/xampp/mysql/mysql.sock"

# 密码 = your_password

端口 = 3307

socket = "C:/xampp/mysql/mysql.sock"

and

# The MySQL server

[mysqld]

port= 3307

# MySQL 服务器

[mysqld]

端口= 3307

4) Save the file and open XAMPP Control Panel

4) 保存文件并打开 XAMPP 控制面板

5) In XAMPP Control Panel Click on Config> Service and Port Settings

5) 在 XAMPP 控制面板中单击配置>服务和端口设置

6) Goto MySQLTab

6) 转到MySQL选项卡

7) Change Service name mysqlto mysqlxamppand Main port 3306to 3307

7)将服务名mysql改为mysqlxampp,主端口3306改为3307

8) Click on Save then Save and close XAMPP

8)点击保存然后保存并关闭XAMPP

9) Run Again XAMPP and you will be able to start the MySQL Server

9) 再次运行 XAMPP,您将能够启动 MySQL 服务器

You might also face issue with phpMyAdmin For which you can add line

您可能还会遇到 phpMyAdmin 的问题,您可以为其添加行

$cfg['Servers'][$i]['port'] = '3307';

$cfg['Servers'][$i]['port'] = '3307';

in your config.inc.php file in phpMyAdmin root directory.

在 phpMyAdmin 根目录下的 config.inc.php 文件中。

回答by sraje



If you have installed MySQL separately and also have XAMPP's MySQL running, then you will have this issue. The conflict is for port 3306 and not for port 80. I suggest you follow the guidelines mentioned here:

如果您单独安装了 MySQL 并且还运行了 XAMPP 的 MySQL,那么您将遇到此问题。冲突是针对端口 3306 而不是端口 80。我建议您遵循此处提到的准则:

http://silentlyrun.blogspot.com.au/2013/02/how-to-change-apache-n-mysql-port-for.html

http://silentlyrun.blogspot.com.au/2013/02/how-to-change-apache-n-mysql-port-for.html

This worked for me when I had MySQL installed separately and also as a part of XAMPP.

当我单独安装 MySQL 并作为 XAMPP 的一部分安装时,这对我有用。

回答by Arjang

Restart your machine then use command line netstat. It will show you what application have ports open.

重新启动您的机器,然后使用命令行netstat。它将显示哪些应用程序打开了端口。