workerman怎么調(diào)用數(shù)據(jù)庫

workerman怎么調(diào)用數(shù)據(jù)庫

依賴的擴(kuò)展

mysql類依賴pdo和pdo_mysql兩個(gè)擴(kuò)展,缺少擴(kuò)展會報(bào)undefined class constant ‘mysql_attr_init_command’ in ….錯(cuò)誤。

命令行運(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目錄,然后在項(xiàng)目中引入vendor下的autoload.php。

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

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

use?WorkermanWorker; 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?WorkermanMySQLConnection('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();

更多workerman知識請關(guān)注workerman教程欄目。

以上就是

? 版權(quán)聲明
THE END
喜歡就支持一下吧
點(diǎn)贊9 分享