ワーカーマンはどのようにしてデータベースを呼び出しますか?

リリース: 2019-12-23 16:43:18
オリジナル
3525 人が閲覧しました

ワーカーマンはどのようにしてデータベースを呼び出しますか?

依存する拡張機能

mysql クラスは、pdo と pdo_mysql の 2 つの拡張機能に依存しています。拡張機能が見つからない場合は、未定義のクラス定数 'MYSQL_ATTR_INIT_COMMAND' が発生します。で…間違いです。

コマンドラインから php -m を実行すると、php cli にインストールされている拡張機能がすべてリストされます

centos system

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 チュートリアル列に注目してください。

以上がワーカーマンはどのようにしてデータベースを呼び出しますか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

関連ラベル:
ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート