所依賴的擴展
該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中文網其他相關文章!