php - 运行 PHPUnit 时出现“找不到驱动程序”错误消息
问题描述
我正在尝试在使用 PDO 的 MYSQL 的类上使用 PHPUNIT 进行单元测试。
类定义是这样的:
class InputRules{
private $_errors = array(),
$_db = NULL,
$_pass = false;
public function __construct(){
$_db = DB::getInstance();
}
测试脚本是这样的:
class InputRulesTest extends \PHPUnit_Framework_TestCase
{
public function test_email_is_empty()
{
$Input = new InputRules();
}
}
我收到此错误消息:
PDO exception: Cannot find driver.
我知道 PDO_mysql 模块适用于 Apache,但不适用于 CLI。
当我执行“php -m”时,我得到:
[PHP Modules]
bcmath
bz2
calendar
Core
ctype
date
dom
fileinfo
filter
hash
json
libxml
mbstring
mcrypt
openssl
pcntl
pcre
PDO
Phar
posix
readline
Reflection
session
shmop
SimpleXML
sockets
SPL
standard
sysvmsg
sysvsem
sysvshm
tokenizer
xml
xmlreader
xmlwriter
xsl
zip
zlib
[Zend Modules]
在阅读了 2 个有关此类问题的 stackoverflow 问题(一个使用 Laravel,另一个使用 Symphony。顺便说一句,我没有使用任何框架),他们建议安装 PDO_mysql。
所以我执行了这两个命令,(我使用的是 Ubunt 12):
sudo apt-get install php5-mysql
php5enmod -s cli pdo_mysql
我希望看到 pdo_mysql 与 php -m 命令。但它没有改变,当然我仍然收到有关找不到驱动程序的错误消息。
我非常感谢对这种情况的任何见解。
解决方案
我的解决方案是将主机更改为127.0.0.1
. 使用localhost
导致失败。
推荐阅读
- haskell - 安装 Quipper 时出错 - 无法构建 quipper-utils-0.9.0.0(无法将类型 'Maybe TH.Exp' 与 'TH.Exp' 匹配)
- python - 有人可以看看我的 Keras CNN 模型并帮助我找出提高训练和验证准确性的方法吗?
- python - 使用 python 绘制地理地图上的 3D 高程
- php - laravel url() 方法如何在邮件刀片视图中确定主机名
- python - 在 Pandas MultiIndex 中重新采样会丢失值
- c# - 无法在 ASP.NET 中显示表单输入
- haproxy - 如何让keepalived响应HAProxy上的故障转移?
- intellij-idea - 如何在 IntelliJ 社区/终极版下创建/运行 OSGI(项目)
- tensorflow - GCP:自动缩放为零的 IA ML 服务
- python - Django:将连续的输出变量传递给 Html 视图