2016-09-04 2 views
2

私はTravis CIを使い始めました。何度か試みた後、MySQLを使って渡しビルド(hoora)しました。 しかし、SQLiteのビルドは最初のPDO->prepareコマンドで失敗しています(次の行は約PDO->executeで、ログには私のオブジェクトはPDOオブジェクトではなくブーリアンであると言われているからです)。ここでTravis-CIはPHPプロジェクト用にSQLiteのセットアップが必要ですか?

はコードです:ここでは

$query = $connection->prepare('UPDATE `user` SET `password`=:password WHERE `id`=1 LIMIT 1;'); 
$query->bindValue(':password', md5($adminUserPwd), PDO::PARAM_STR); 
if (!$query->execute()) { 
    return false; 
} 

ビルド(PHPUnitの)ログです:

//drop previous schema 
if (file_exists($_SERVER['DOCUMENT_ROOT'].$path)) { 
    unlink($_SERVER['DOCUMENT_ROOT'].$path); 
} 
//create directory if it does not already exist 
if (!file_exists(dirname($_SERVER['DOCUMENT_ROOT'].$path))) { 
    mkdir(dirname($_SERVER['DOCUMENT_ROOT'].$path), 0700); 
} 

:そのステップの前に

Error: Call to a member function bindValue() on boolean in /home/travis/build/nioc/web-music-player/tests/TestingTool.php:96 

、私のスクリプトは、SQLiteのファイルを作成しますそして、テーブルの作成のためのスクリプトをロードします。ここで

は、SQLiteのビルドへのリンクです:ローカルオンhttps://travis-ci.org/nioc/web-music-player/jobs/157457638#L190

、すべてのテストはOKですトラヴィスが失敗した理由を構築し、私は思ったんだけど、多分私はトラヴィスの設定に何かを忘れてしまったら?

何かアドバイスは、[OK]を歓迎:)

+0

私はtravis.ymlにgitのクローン及びこれにSQLiteのディレクトリを追加することで、新たな試みを与える: ' - chmodコマンド-R 777テスト/サーバー/データ/' しかし、それはまだ失敗。 – Nioc

答えて

0

ですが、私はSQL要求だった、私の問題を解決:

UPDATE `user` SET `password`=:password WHERE `id`=1 LIMIT 1; 

documentationで述べたように、SQLiteはそれがあった場合を除いてUPDATEにLIMIT句を許可していません。 SQLITE_ENABLE_UPDATE_DELETE_LIMITオプションでコンパイルされます。

関連する問題