依賴的擴(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)聲明
文章版權(quán)歸作者所有,未經(jīng)允許請勿轉(zhuǎn)載。
THE END
喜歡就支持一下吧
相關(guān)推薦