PHP artisan migrate 报错显示 could not find driver ,怎么办?

举报
lxw1844912514 发表于 2022/03/27 02:35:08 2022/03/27
【摘要】 记录下自己的错误 一、 1、原因是没有pdo扩展导致的, 2、解决办法:打开php.ini,然后去掉以下两行代码之前的分号(;)即可。如下; extension=php_pdo_firebird.dll extension=php_pdo_mysql.dll 二、 但是我运行pdo链接,还是报这个错。最...

记录下自己的错误

一、

1、原因是没有pdo扩展导致的,

2、解决办法:打开php.ini,然后去掉以下两行代码之前的分号(;)即可。如下;

extension=php_pdo_firebird.dll

extension=php_pdo_mysql.dll

二、

但是我运行pdo链接,还是报这个错。最后发现是自己的pdo链接字符串有问题,导致无法连接。原因是单引号与双引号的作用没有搞明白,单引号下的变量是php是不会去解析的,双引号与没有符号下的变量php才会去解析。


原文:https://blog.csdn.net/sinat_34322082/article/details/80417002

以上方法都不对的情况下:

本地环境:

 

 

发现在本地使用PHPstorm中执行php artsian insert:order 命令执行失败,无法找到驱动,最后发现在vagrant搭建的环境中,本地配置不全,在使用Xshell连接到这机器即可

vagrant环境

 

 

 

 

 

php artisan make:command Building/InsertOrder  

生成的脚本文件存储在command/building 目录下,带命名空间

 

脚本文件:InsertOrder.PHP


    
  1. <?php
  2. namespace App\Console\Commands\Building;
  3. use App\Building;
  4. use App\ModelList\Buildings\BuildingPaymentTest;
  5. use Illuminate\Console\Command;
  6. class InsertOrder extends Command
  7. {
  8. /**
  9. * The name and signature of the console command.
  10. *
  11. * @var string
  12. */
  13. protected $signature = 'Insert:order';
  14. /**
  15. * The console command description.
  16. *
  17. * @var string
  18. */
  19. protected $description = '修改补充buildingpayment表中的订单编号';
  20. /**
  21. * Create a new command instance.
  22. *
  23. * @return void
  24. */
  25. public function __construct()
  26. {
  27. parent::__construct();
  28. }
  29. /**
  30. * Execute the console command.
  31. *
  32. * @return mixed
  33. */
  34. public function handle()
  35. {
  36. //补充订单编号
  37. $this->index();
  38. }
  39. /**
  40. * @author lxw
  41. */
  42. public function index()
  43. {
  44. $buildingsTest = BuildingPaymentTest::get(['id', 'building_id', 'created_at']);
  45. if ($buildingsTest->isEmpty()) {
  46. dd('没有数据');
  47. }
  48. $num = 0;
  49. foreach ($buildingsTest as $building) {
  50. $createTime = date('Ymd', strtotime($building['created_at']));
  51. //生成唯一订单编号,规则:年月日+5位随机数
  52. $randStr = $createTime . str_pad(mt_rand(1, 99999), 5, '0', STR_PAD_LEFT);
  53. $companyId = Building::where('id', $building->building_id)->withTrashed()->get(['company_id'])->toArray();
  54. if (empty($companyId)) {
  55. continue;
  56. }
  57. $updateParam = [
  58. 'order_id' => $randStr,
  59. 'company_id' => $companyId[0]['company_id'],
  60. 'owner_id' => 1,
  61. 'sales_person' => 'admin',
  62. 'payment_amount' => '0',
  63. 'start_time' => $building['created_at'],
  64. ];
  65. BuildingPaymentTest::where('building_id', $building->building_id)->update($updateParam);
  66. $num++;
  67. dump('楼宇' . $building->building_id . '完成,已经完成' . $num . '条');
  68. // dd('停止一下');
  69. }
  70. dd('全部完成');
  71. }
  72. }

  




文章来源: blog.csdn.net,作者:lxw1844912514,版权归原作者所有,如需转载,请联系作者。

原文链接:blog.csdn.net/lxw1844912514/article/details/100028793

【版权声明】本文为华为云社区用户转载文章,如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@huaweicloud.com
  • 点赞
  • 收藏
  • 关注作者

评论(0

0/1000
抱歉,系统识别当前为高风险访问,暂不支持该操作

全部回复

上滑加载中

设置昵称

在此一键设置昵称,即可参与社区互动!

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。