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的)日誌:
Error: Call to a member function bindValue() on boolean in /home/travis/build/nioc/web-music-player/tests/TestingTool.php:96
那一步之前,我的腳本創建一個SQLite文件:
//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);
}
然後爲表創建加載腳本。
這裏是鏈接到SQLite的構建:https://travis-ci.org/nioc/web-music-player/jobs/157457638#L190
在本地,所有測試都OK,我不知道爲什麼特拉維斯構建失敗,也許我忘了上特拉維斯配置些什麼呢?
任何建議都是歡迎的。
我給一個新的嘗試通過在git的克隆添加SQLite的目錄,這對我的travis.yml: ' - 搭配chmod -R 777個測試/服務器/數據/' 但它仍然失敗。 – Nioc