因為是docker-compose啟動,數(shù)據(jù)庫可能沒 webman容器啟動快,導(dǎo)致報錯,所以現(xiàn)在要做個延遲啟動,但是發(fā)現(xiàn)一個問題.
入口文件操作thinkORM引發(fā)的報錯Wrong COM_STMT_PREPARE response size. Received 1 in /app/vendor/topthink/think-orm/src/db/PDOConnection.php:762
只要去掉了這個do while就沒問題
#!/usr/bin/env php
<?php
use Webman\Config;
use think\facade\Db;
require_once __DIR__ . '/vendor/autoload.php';
echo '正在自檢....'.PHP_EOL;
Config::load(config_path(), ['route']);
$dbEngine=config('thinkorm');
Db::setConfig($dbEngine);
$dbok=false;
do{
try {
$a=\app\model\Users::count('id');
var_dump($a);
}catch (\Exception $exception){
echo '數(shù)據(jù)庫尚未啟動,3秒后重試。'.PHP_EOL;
sleep(3);
continue;
}
$dbok=true;
}while($dbok==false);
echo '系統(tǒng)初始化完畢,正在運行'.PHP_EOL;
support\App::run();
已經(jīng)解決:入口文件使用完畢,通過orm關(guān)閉conn
Db::connect()->close();
echo '系統(tǒng)初始化完畢,正在運行'.PHP_EOL;