ホームページ > 記事 > PHPフレームワーク > ワーカーマンはどのようにしてデータベースを呼び出しますか?
依存する拡張機能
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 サイトの他の関連記事を参照してください。