信息发布→ 登录 注册 退出

workerman怎么调用数据库

发布时间:2019-12-23

点击量:

依赖的扩展

该mysql类依赖pdo和pdo_mysql两个扩展,缺少扩展会报undefined class constant 'mysql_attr_init_command' in ....错误。

命令行运行php -m会列出所有php cli已安装的扩展

centos系统

PHP5.x

yum install php-pdo
yum install php-mysql

PHP7.x

yum install php70w-pdo_dblib.x86_64
yum install php70w-mysqlnd.x86_64

安装 Workerman/MySQL

方法1:

可以通过composer安装,命令行运行以下命令(composer源在国外,安装过程可能会非常慢)。

composer require workerman/mysql

上面命令成功后会生成vendor目录,然后在项目中引入vendor下的autoload.php。

require_once __DIR__ . '/vendor/autoload.php';

workerman调用数据库实例:

use Workerman\Worker;
require_once __DIR__ . '/Workerman/Autoloader.php';
require_once __DIR__ . '/vendor/autoload.php';

$worker = new Worker('websocket://0.0.0.0:8484');
$worker->onWorkerStart = function($worker)
{
    // 将db实例存储在全局变量中(也可以存储在某类的静态成员中)
    global $db;
    $db = new \Workerman\MySQL\Connection('host', 'port', 'user', 'password', 'db_name');
};
$worker->onMessage = function($connection, $data)
{
    // 通过全局变量获得db实例
    global $db;
    // 执行SQL
    $all_tables = $db->query('show tables');
    $connection->send(json_encode($all_tables));
};
// 运行worker
Worker::runAll();

更多workerman知识请关注workerman教程栏目。

标签:# workerman  # php  # composer  # mysql  # pdo  # class  # undefined  # 数据库  # centos  
在线客服
服务热线

服务热线

4008888355

微信咨询
二维码
返回顶部
×二维码

截屏,微信识别二维码

打开微信

微信号已复制,请打开微信添加咨询详情!