我开始使用laravel 4,我正在尝试开始使用单元测试,这样我就可以让我的生活更轻松.好吧,你们所有人都会猜测我的开发在尝试phpunit测试后并没有变得容易.简单的测试很容易,但是当事情开始变得有点复杂时,它们就不会像我一样.
问题是我进行了简单的测试但是我得到了一些奇怪的错误PDOException: could not find driver.我已经阅读了一些文章并发表了这个主题,但没有解决我的问题.我安装了php5-mysql,当我打电话php -m时说我有PDO和pdo_mysql.我使用的实际命令是php -m |grep -i "pdo",输出是:
PDO
pdo_mysql
Run Code Online (Sandbox Code Playgroud)
好吧,我试图在浏览器中实际测试PDOException类.为此,我将mysql用户密码更改为不正确的密码,并测试了artisan服务器中将发生的情况(使用命令php artisan serve---> 调用http://localhost:8000/).在浏览器中,一切都可以作为魅力,但当我尝试在控制台中调用``phpunit`时,结果并不相同.
我试图看看webserver和cli是否有不同的配置文件,但事实证明文件是相同的.我比较的配置文件是:
对于Web服务器
/etc/php5/apache2/conf.d/20-pdo_mysql.ini
/etc/php5/apache2/conf.d/05-opcache.ini
/etc/php5/apache2/conf.d/20-json.ini
/etc/php5/apache2/conf.d/20-mysql.ini
/etc/php5/apache2/conf.d/20-mysqli.ini
/etc/php5/apache2/conf.d/10-pdo.ini
/etc/php5/apache2/conf.d/20-mcrypt.ini
/etc/php5/apache2/conf.d/20-curl.ini
/etc/php5/apache2/php.ini
Run Code Online (Sandbox Code Playgroud)
用于命令行
/etc/php5/cli/conf.d/20-pdo_mysql.ini
/etc/php5/cli/conf.d/05-opcache.ini
/etc/php5/cli/conf.d/20-json.ini
/etc/php5/cli/conf.d/20-mysql.ini
/etc/php5/cli/conf.d/20-mysqli.ini
/etc/php5/cli/conf.d/10-pdo.ini
/etc/php5/cli/conf.d/20-mcrypt.ini
/etc/php5/cli/conf.d/20-curl.ini
/etc/php5/cli/php.ini
Run Code Online (Sandbox Code Playgroud)
为了比较它我像这样使用diff命令diff -s /path/to/file1 /path/to/file2.
错误看起来像这样:
1) ExampleTest::testBasicExample
PDOException: could not find driver
/var/www/smlsspd/vendor/laravel/framework/src/Illuminate/Database/Connectors/Connector.php:47
/var/www/smlsspd/vendor/laravel/framework/src/Illuminate/Database/Connectors/SQLiteConnector.php:22
/var/www/smlsspd/vendor/laravel/framework/src/Illuminate/Database/Connectors/ConnectionFactory.php:59
/var/www/smlsspd/vendor/laravel/framework/src/Illuminate/Database/Connectors/ConnectionFactory.php:47
/var/www/smlsspd/vendor/laravel/framework/src/Illuminate/Database/DatabaseManager.php:127
/var/www/smlsspd/vendor/laravel/framework/src/Illuminate/Database/DatabaseManager.php:63
/var/www/smlsspd/vendor/laravel/framework/src/Illuminate/Database/Migrations/DatabaseMigrationRepository.php:167
/var/www/smlsspd/vendor/laravel/framework/src/Illuminate/Database/Migrations/DatabaseMigrationRepository.php:135
/var/www/smlsspd/vendor/laravel/framework/src/Illuminate/Database/Migrations/Migrator.php:366
/var/www/smlsspd/vendor/laravel/framework/src/Illuminate/Database/Console/Migrations/MigrateCommand.php:93
/var/www/smlsspd/vendor/laravel/framework/src/Illuminate/Database/Console/Migrations/MigrateCommand.php:56 …Run Code Online (Sandbox Code Playgroud) 我有问题,将十六进制值转换为带符号的Dec值.事情是我不知道该怎么做.我正在使用Qt,这是示例代码.
#include <QCoreApplication>
#include <QDebug>
int main(int argc, char *argv[])
{
QCoreApplication a(argc, argv);
int x=0xA92B;
qDebug()<<x;
return a.exec();
}
Run Code Online (Sandbox Code Playgroud)
现在我得到43307,但我想得到-22229.有办法吗?