溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點(diǎn)擊 登錄注冊 即表示同意《億速云用戶服務(wù)條款》

workerman調(diào)用數(shù)據(jù)庫的方法

發(fā)布時間:2021-01-06 11:50:57 來源:億速云 閱讀:393 作者:小新 欄目:編程語言

這篇文章主要介紹了workerman調(diào)用數(shù)據(jù)庫的方法,具有一定借鑒價值,感興趣的朋友可以參考下,希望大家閱讀完這篇文章之后大有收獲,下面讓小編帶著大家一起了解一下。

依賴的擴(kuò)展

mysql類依賴pdo和pdo_mysql兩個擴(kuò)展,缺少擴(kuò)展會報Undefined class constant 'MYSQL_ATTR_INIT_COMMAND' in ....錯誤。

命令行運(yùn)行php -m會列出所有php cli已安裝的擴(kuò)展

centos系統(tǒng)

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安裝,命令行運(yùn)行以下命令(composer源在國外,安裝過程可能會非常慢)。

composer require workerman/mysql

上面命令成功后會生成vendor目錄,然后在項目中引入vendor下的autoload.php。

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

workerman調(diào)用數(shù)據(jù)庫實(shí)例:

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實(shí)例存儲在全局變量中(也可以存儲在某類的靜態(tài)成員中)
    global $db;
    $db = new \Workerman\MySQL\Connection('host', 'port', 'user', 'password', 'db_name');
};
$worker->onMessage = function($connection, $data)
{
    // 通過全局變量獲得db實(shí)例
    global $db;
    // 執(zhí)行SQL
    $all_tables = $db->query('show tables');
    $connection->send(json_encode($all_tables));
};
// 運(yùn)行worker
Worker::runAll();

感謝你能夠認(rèn)真閱讀完這篇文章,希望小編分享的“workerman調(diào)用數(shù)據(jù)庫的方法”這篇文章對大家有幫助,同時也希望大家多多支持億速云,關(guān)注億速云行業(yè)資訊頻道,更多相關(guān)知識等著你來學(xué)習(xí)!

向AI問一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進(jìn)行舉報,并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI