工匠队列使用可变值在课堂上工作

宝ao

我想将以下pdo语句排入队列以创建这样的数据库:

    Queue::push(function($job, $dbname){
        $dbh = new PDO("mysql:host=".getenv('DB_HOST'), getenv('DB_USERNAME'), getenv('DB_PASSWORD'));

        $dbh->exec("CREATE DATABASE `$dbname` CHARACTER SET=utf8 COLLATE=utf8_unicode_ci;
            GRANT ALL ON `$dbname`.* TO 'xxx'@'%';
            FLUSH PRIVILEGES;");

    unset($dbh);
        Log::useFiles(storage_path().'/logs/databasecreated');
        Log::info('database created: '.$dbname);
        $job->delete();
    });

但是它抛出

'Jeremeamia \ SuperClosure \ SerializableClosure :: {closure}()缺少参数2

尝试运行php artisan queue:work时

$dbname

设置像

$dbname = $this->getDbName();

并且整个代码都驻留在类的函数中。

我也试着使用$this->getDbName(),并$this->dbName直接封内,但自然没有工作。

不可能在队列中运行这样的命令吗?

Lukasgeiter

尝试使用以下use语句传递变量

Queue::push(function($job) use ($dbname){
    $dbh = new PDO("mysql:host=".getenv('DB_HOST'), getenv('DB_USERNAME'), getenv('DB_PASSWORD'));

    $dbh->exec("CREATE DATABASE `$dbname` CHARACTER SET=utf8 COLLATE=utf8_unicode_ci;
        GRANT ALL ON `$dbname`.* TO 'xxx'@'%';
        FLUSH PRIVILEGES;");

    unset($dbh);
    Log::useFiles(storage_path().'/logs/databasecreated');
    Log::info('database created: '.$dbname);
    $job->delete();
});

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

如何让“自我”在课堂上工作

来自分类Dev

mysql_connect() 不在课堂上工作

来自分类Dev

在课堂上使用$ _GET

来自分类Dev

在课堂上使用namedtuple

来自分类Dev

在课堂上使用$ _GET

来自分类Dev

如何在课堂上使用PDO连接工作

来自分类Dev

课堂上的反身作文得到空值

来自分类Dev

在课堂上使用析构函数

来自分类Dev

如何在课堂上使用装饰器

来自分类Dev

我可以在课堂上使用__autoload吗?

来自分类Dev

无法在课堂上使用此函数调用

来自分类Dev

在课堂上使用TCA的TYPO3

来自分类Dev

如何在课堂上使用MySQLi

来自分类Dev

Angular 4 / TypeScript HttpModule 在课堂上的使用

来自分类Dev

如何在课堂上使用依赖注入?

来自分类Dev

php工匠队列:终端中的工作冻结

来自分类Dev

我可以在课堂上实现+ =来增加包含的值吗?

来自分类Dev

运行工匠队列:使用其他参数

来自分类Dev

运行工匠队列:使用其他参数

来自分类Dev

课堂上的OOP困惑

来自分类Dev

课堂上逻辑太多

来自分类Dev

从课堂上读常量

来自分类Dev

课堂上的例外

来自分类Dev

在课堂上抛出异常

来自分类Dev

课堂上的多个div

来自分类Dev

课堂上重载operator +

来自分类Dev

使用Airbnb规则的带有胖箭头的ESLint在课堂上

来自分类Dev

如果您在课堂上不使用“ this”会怎样?

来自分类Dev

为什么Firefox注入“严格使用”?在课堂上的方法?