【问题标题】:Problems connecting to MySQL database from PHP application using shared memory使用共享内存从 PHP 应用程序连接到 MySQL 数据库的问题
【发布时间】:2014-07-05 08:32:13
【问题描述】:

我有一个非常基本的 PHP 页面,我从该页面连接到 MySQL 数据库。

我的 MySQL .ini 文件如下:

skip-show-database
local-infile=0
bind-address=::1

我现在了解到通过共享内存进行连接更快、更安全,因此我将 .ini 文件更改为:

skip-show-database
local-infile=0
skip-networking
enable-named-pipe
shared-memory
bind-address=::1

通过这些设置,我可以使用 mysql.exe 命令从 DOS 访问数据库,没有任何问题,但是如果我尝试重新加载我的 PHP 页面,我会收到以下错误:

由于目标机器主动拒绝,无法建立连接。

我正在通过以下方式连接到数据库:

$con=mysqli_connect("localhost", "serveradmin", "XXXXXXXXXXXXXXXXXX", "mysql");

我注意到使用 TCP/IP 的数据库端口是 3306,但使用共享内存时它是 0

我错过了什么?会是这样吗?

【问题讨论】:

  • 你试过在.ini中显式设置端口吗?
  • 我建议远离共享内存,改用套接字。
  • 我必须在 my.ini 中进行哪些更改才能使用套接字?

标签: php mysql shared-memory


【解决方案1】:

尝试127.0.0.1 作为地址以使用 TCP/IP 连接。如果您使用localhost,则尝试使用套接字。

请注意,共享内存连接不受 mysql 官方支持,并且有几个与此功能相关的 PHP 错误。因此,如果你不能让它工作,这可能意味着它根本不工作。

【讨论】:

    猜你喜欢
    • 2011-09-20
    • 1970-01-01
    • 1970-01-01
    • 2017-08-25
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-11-26
    • 2020-12-26
    相关资源
    最近更新 更多