在ubuntu的laravel 5.2项目中运行codeception测试用例时,PDOException找不到驱动。

问题描述 投票:0回答:2

<?php
use App\Http\Controllers\employees;
class PracticeTestCest
{
    public function _before(FunctionalTester $I)
    {
    }
    public function _after(FunctionalTester $I)
    {
    }
    public function tryToTest(FunctionalTester $I)
    {
       $I->amOnPage('/login');
       $I->submitForm('form#login-email', ['email' => '[email protected]', 'password' => 'm12345']);
       $I->fillField('#login-email input[name=email]', '[email protected]');
       $I->fillField('#login-email input[name=password]', 'm12345');
       $I->click('LOGIN', '#btn-login');
       //$I->see('Welcome, Mani Rani','h4');
       $I->seeCurrentUrlEquals('/login?logincount=&email=sekhar%40gmail.com&password=m12345&button=');
    }
}


Here is my functional.suite.yml file:::: 
class_name: FunctionalTester
modules:
    enabled:
        # add framework module here
        - Laravel5:
            environment_file: .env.testing
        - \Helper\Functional

PDOException在ubuntu的laravel 5.2项目中运行codeception测试用例时找不到驱动。

以下是我的php -m输出:::PHP 警告。 PHP 启动时,无法加载动态库 'usrlibphp20131226php_pdo_mysql.dll' - usrlibphp20131226php_pdo_mysql.dll。无法加载动态库 'usrlibphp20131226php_pdo_mysql.dll' - usrlibphp20131226php_pdo_mysql.dll: 不能打开共享对象文件。在未知的第0行没有这样的文件或目录。

[PHP Modules]
calendar
Core
ctype
curl
date
dom
ereg
exif
fileinfo
filter
ftp
gd
gettext
hash
iconv
json
libxml
mbstring
mhash
openssl
pcntl
pcre
PDO
Phar
posix
readline
Reflection
session
shmop
SimpleXML
sockets
SPL
standard
sysvmsg
sysvsem
sysvshm
tokenizer
wddx
xml
xmlreader
xmlwriter
xsl
Zend OPcache
zlib

[Zend Modules]
Zend OPcache
mysql nginx laravel-5 ubuntu-14.04 codeception
2个回答
0
投票

在你的php模块列表中没有安装mysql驱动,你应该安装它。当PHP PDO试图连接到mysql服务器时,需要安装驱动。要安装它,请运行。 $ sudo apt-get install php-mysql

不要忘了启用扩展在 php.ini 档案查找 ;extension=php_pdo_mysql.so

不予置评 extension=php_pdo_mysql.so

保存文件并重新启动apache服务。 service apache2 restart

希望能帮到你。


0
投票

答案是在PHP中添加后缀,然后在安装php5.6或之前添加这个。

sudo add-apt-repository ppa:ondrej/php
sudo apt-get update
sudo apt-get upgrade
sudo apt-get install php5.6   # for PHP 5.6

然后用这个命令安装扩展

sudo apt-get install php5.6-gd php5.6-mysql php5.6-dom php5.6-cli
php5.6-json php5.6-common php5.6-mbstring php5.6-opcache
php5.6-readline

`

© www.soinside.com 2019 - 2024. All rights reserved.