[email protected]:/opt/lampp/htdocs/trackstar/protected/tests# phpunit unit/DbTest.php
PHPUnit 3.4.13 by Sebastian Bergmann.
E
Time: 2 seconds, Memory: 5.75Mb
There was 1 error:
1) DbTest::testConnection
CDbException: CDbConnection failed to open the DB connection.
/opt/lampp/htdocs/yii/framework/db/CDbConnection.php:275
/opt/lampp/htdocs/yii/framework/db/CDbConnection.php:242
/opt/lampp/htdocs/yii/framework/db/CDbConnection.php:221
/opt/lampp/htdocs/yii/framework/base/CModule.php:363
/opt/lampp/htdocs/yii/framework/base/CModule.php:86
/opt/lampp/htdocs/trackstar/protected/tests/unit/DbTest.php:6
FAILURES!
Tests: 1, Assertions: 0, Errors: 1.
[email protected]:/opt/lampp/htdocs/trackstar/protected/tests#
Répondre
Impossible de se connecter à votre base de données. Soit:
- Vos paramètres de connexion à la base de données sont incorrects.
- Votre base de données n'est pas en cours d'exécution.
- Il y a une mauvaise configuration réseau.
essayer:
mysql_connect("127.0.0.1", "root", "123456") or die (mysql_error());
echo "Connected to MySQL";
parfois les privilèges de réglage du serveur MySQL sont différents pour "127.0.0.1" et "localhost". Si tel est le cas, vous pouvez le faire:
mysql> GRANT ALL PRIVILEGES ON trackstar_dev.* TO 'root'@'127.0.0.1';
sur votre serveur mysql
ou vous pouvez changer votre yii main.php en ..., 'connectionString' => 'localhost', ... – ZaQ
cela ne fonctionne pas – Silentbang
Vous devez modifier la déclaration de composant 'db' dans protected/config/test.php
Ce fichier de configuration est utilisé lorsque vous exécutez vos tests.
Vérifiez protected/tests/bootstrap.php pour voir les fichiers inclus.
OK. Après environ une demi-journée à sortir mes cheveux. C'est tout ce que j'avais à faire. J'espère que ça aide les autres. Plusieurs vérifications simples ont résolu ce problème. J'ai plusieurs copies de PHP et phpunit avec des chemins différents. Je suppose que vous avez passé vos vérifications /requirements/index.php et votre fichier de test config/main &.
dans le terminal Localisez votre exécutable PHPUnit:
qui PHPUnit
Localisez votre exécutable en cours d'exécution php:
qui php
chemin sudo vi/à/PHPUnit (l'exécutable)
assurez-vous que la première ligne référençant le php exectuable est en fait celle de l'étape deux.
Résolu mon mal de tête. :)
mysql en cours d'exécution, yii config semble correct. – chenge
config/main.php: 'db' => array ( 'classe' => 'CDbConnection', 'connectionString' => 'mysql: host = 127.0.0.1; dbname = trackstar_dev', ' emulatePrepare' = > true, 'nom d'utilisateur' => 'root', 'password' => '123456', 'charset' => 'utf8', ), – chenge
Assurez-vous que vous pouvez vous connecter en utilisant ces droits d'accès à cette base de données à la fois le client MySQL et en utilisant mysql_connect en PHP. –