Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/266.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 基于Laravel单元测试的PDO扩展_Php_Laravel_Unit Testing_Testing - Fatal编程技术网

Php 基于Laravel单元测试的PDO扩展

Php 基于Laravel单元测试的PDO扩展,php,laravel,unit-testing,testing,Php,Laravel,Unit Testing,Testing,我一直在努力用我的Laravel应用程序设置单元测试,我面临着错误。。。它说PDO扩展未安装,并给我错误“未找到PDO异常驱动程序”,但它已安装!!!。当我提供我的应用程序时,一切都正常 还安装了PDO: 28 => "json" 29 => "exif" 30 => "mysqli" 31 => "pdo_mysql" 32 => "pdo_sqlite" 33 => "Phar" 34 => "posix" 35 =&

我一直在努力用我的Laravel应用程序设置单元测试,我面临着错误。。。它说PDO扩展未安装,并给我错误“未找到PDO异常驱动程序”,但它已安装!!!。当我提供我的应用程序时,一切都正常

还安装了PDO:

  28 => "json"
  29 => "exif"
  30 => "mysqli"
  31 => "pdo_mysql"
  32 => "pdo_sqlite"
  33 => "Phar"
  34 => "posix"
  35 => "readline"
  36 => "shmop"
以下是我的测试代码:


检查您是否在cli上启用了pdo扩展。您可以通过在终端上运行
php-m
来实现这一点

确保以cli和fpm模式加载pdo扩展


编辑:通过运行
php-i

如何运行测试,您可以从命令行检查使用了哪个配置文件?我正在使用phpstorm运行测试!当我运行
/vendor/bin/phpunit
命令时,一切都正常在单元测试中放入一些phpinfo调用并运行它。我认为,它使用了错误的版本。换句话说,您要说的是,可能有一个单独的
php.ini
文件。(通常命名为
php cli.ini
)-我知道这一点,但在您的回答中并不完全清楚。在任何情况下,甚至有可能
cli.ini
没有启用PDO。。。所以,这也是我的猜测。(这是我从时区设置中学到的,很难……哈哈)这不是缺少PDO扩展,而是缺少mysql或sqlite扩展。
 /home/soheil/Documents/Projects/PHP/EcollegeMe/vendor/laravel/framework/src/Illuminate/Database/Connection.php:664
 /home/soheil/Documents/Projects/PHP/EcollegeMe/vendor/laravel/framework/src/Illuminate/Database/Connection.php:624
 /home/soheil/Documents/Projects/PHP/EcollegeMe/vendor/laravel/framework/src/Illuminate/Database/Connection.php:459
 /home/soheil/Documents/Projects/PHP/EcollegeMe/vendor/laravel/framework/src/Illuminate/Database/Connection.php:411
 /home/soheil/Documents/Projects/PHP/EcollegeMe/vendor/laravel/framework/src/Illuminate/Database/Query/Processors/Processor.php:32
 /home/soheil/Documents/Projects/PHP/EcollegeMe/vendor/laravel/framework/src/Illuminate/Database/Query/Builder.php:2653
 /home/soheil/Documents/Projects/PHP/EcollegeMe/vendor/laravel/framework/src/Illuminate/Database/Eloquent/Builder.php:1347
 /home/soheil/Documents/Projects/PHP/EcollegeMe/vendor/laravel/framework/src/Illuminate/Database/Eloquent/Model.php:835
 /home/soheil/Documents/Projects/PHP/EcollegeMe/vendor/laravel/framework/src/Illuminate/Database/Eloquent/Model.php:800
 /home/soheil/Documents/Projects/PHP/EcollegeMe/vendor/laravel/framework/src/Illuminate/Database/Eloquent/Model.php:663
 /home/soheil/Documents/Projects/PHP/EcollegeMe/vendor/laravel/framework/src/Illuminate/Database/Eloquent/FactoryBuilder.php:206
 /home/soheil/Documents/Projects/PHP/EcollegeMe/vendor/laravel/framework/src/Illuminate/Support/Collection.php:419
 /home/soheil/Documents/Projects/PHP/EcollegeMe/vendor/laravel/framework/src/Illuminate/Database/Eloquent/FactoryBuilder.php:207
 /home/soheil/Documents/Projects/PHP/EcollegeMe/vendor/laravel/framework/src/Illuminate/Database/Eloquent/FactoryBuilder.php:181
 /home/soheil/Documents/Projects/PHP/EcollegeMe/tests/Unit/ExampleTest.php:18

 Caused by
 PDOException: could not find driver