ホームページ  >  記事  >  PHPフレームワーク  >  ワーカーマンはどのようにしてデータベースを呼び出しますか?

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

尚
オリジナル
2019-12-23 16:43:183511ブラウズ

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

依存する拡張機能

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 サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。