websocket 服务器找不到类 mysqli。如何在我自己的 websocket 服务器中使用 mysql 数据库连接? [复制]
Posted
技术标签:
【中文标题】websocket 服务器找不到类 mysqli。如何在我自己的 websocket 服务器中使用 mysql 数据库连接? [复制]【英文标题】:websocket server can't find class mysqli. How can i use mysql database connection inside my own websocket server? [duplicate] 【发布时间】:2021-07-29 14:37:49 【问题描述】:我想在我自己的 websocket 服务器中使用 mysqli 数据库连接。如何在不定义 unix 套接字路径的情况下使用数据库?像这样:
$connection = new mysqli($db_servername, $db_username, $db_password, $db_name,3306,'/Applications/MAMP/tmp/mysql/mysql.sock');
webSocket 服务器正在localhost:8080
上运行。我还尝试了其他一些端口和主机名,但仍然出现同样的错误:
Fatal error: Uncaught Error: Class 'mysqli' not found in D:\project\
$this->socketResource = socket_create(AF_INET, SOCK_STREAM, SOL_TCP);
socket_set_option($this->socketResource, SOL_SOCKET, SO_REUSEADDR, 1);
socket_bind($this->socketResource, 0, $this->port);
socket_listen($this->socketResource);
public function connectToDatabase()
$db_servername = "localhost";
$db_username = "root";
$db_password = "root";
$db_name = "dbname";
// Create connection
$connection = new mysqli($db_servername, $db_username, $db_password, $db_name);
return $connection;
【问题讨论】:
【参考方案1】:错误是该类不存在,您没有安装 mysqli 扩展。 The manual
我个人不使用 Windows,但如果我没记错的话,你应该去你的 php.ini 文件并取消注释行 extension=mysqli。 (我不知道这是否是实际名称,但进行 mysqli 搜索应该可以让您到达您所在的位置。)。二进制文件通常已经安装在 Windows 上,但如果没有,您应该能够从 PHP 手册中找到可下载的文件。
【讨论】:
我的 macbook pro aswel 也有同样的问题。当我在没有 webSocket 的情况下连接数据库时,它工作正常。 你安装了mysqli扩展吗? @Carpiee 如何在 windows 或 mac os 上检查? @Carpiee phpinfo(),搜索 mysqli,如果在扩展下找不到,说明没有安装 有一部分mysqli support
。我找不到它说not supported
以上是关于websocket 服务器找不到类 mysqli。如何在我自己的 websocket 服务器中使用 mysql 数据库连接? [复制]的主要内容,如果未能解决你的问题,请参考以下文章
PHP 7.2.1,未捕获的错误:找不到类“mysqli”[重复]
无法通过php代码连接到mysql数据库,PHP致命错误:找不到类'MySQLi'
在类路径中添加库后找不到 Jetty WebSocket 类
Ktor WebSockets:kotlinx.serialization.SerializationException:找不到类“DefaultClientWebSocketSession”的序列化