我開始使用laravel 4,我嘗試着開始使用單元測試,這樣我就可以讓我的生活變得更輕鬆。那麼所有人都會猜測,在嘗試phpunit測試後,我的開發並沒有變得簡單。簡單的測試很好,很容易,但當事情開始變得複雜一些時,他們不會按照我的意願去做。PDOException:在使用phpunit時找不到驅動程序
問題是我進行了簡單的測試,但我得到了一些奇怪的錯誤PDOException: could not find driver
。我已閱讀了一些文章並發表了關於此主題的文章,但沒有解決我的問題。我已經安裝了php5-mysql
,當我打電話給php -m
時,它說我有PDO和pdo_mysql。我使用的實際命令是php -m |grep -i "pdo"
,輸出是:
PDO
pdo_mysql
嗯,我一直在努力,actualy在瀏覽器中測試PDOException類。爲此,我已將mysql用戶密碼更改爲不正確的密碼,並測試手工服務器(用命令php artisan serve
--->http://localhost:8000/
調用)會發生什麼情況。在瀏覽器中,所有內容都可以作爲魅力使用,但當我嘗試在控制檯中調用phpunit時,結果並不相同。
我試圖看看web服務器和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
命令行
/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
他們像這樣diff -s /path/to/file1 /path/to/file2
比較我的用戶diff命令。
的錯誤是這樣的:
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
/var/www/smlsspd/vendor/laravel/framework/src/Illuminate/Console/Command.php:108
/var/www/smlsspd/vendor/symfony/console/Symfony/Component/Console/Command/Command.php:241
/var/www/smlsspd/vendor/laravel/framework/src/Illuminate/Console/Command.php:96
/var/www/smlsspd/vendor/laravel/framework/src/Illuminate/Console/Application.php:96
/var/www/smlsspd/vendor/laravel/framework/src/Illuminate/Foundation/Artisan.php:57
/var/www/smlsspd/vendor/laravel/framework/src/Illuminate/Support/Facades/Facade.php:208
/var/www/smlsspd/vendor/laravel/framework/src/Illuminate/Support/Facades/Facade.php:208
/var/www/smlsspd/app/tests/TestCase.php:70
/var/www/smlsspd/app/tests/TestCase.php:70
/var/www/smlsspd/app/tests/TestCase.php:46
phar:///var/www/smlsspd/phpunit.phar/phpunit/TextUI/Command.php:179
phar:///var/www/smlsspd/phpunit.phar/phpunit/TextUI/Command.php:132
你能不能給我一個提示或解決這個問題?
感謝您的時間:)
好吧,似乎是一個問題,因爲我真的沒有安裝SQLite PDO驅動程序。我稍後會測試一下。 – melanholly
我最終回家並測試了一些東西。看起來好像我沒有閱讀所有的錯誤信息。感謝您的幫助。 – melanholly