账号密码登录
微信安全登录
微信扫描二维码登录

登录后绑定QQ、微信即可实现信息互通

手机验证码登录
找回密码返回
邮箱找回 手机找回
注册账号返回
其他登录方式
分享
  • 收藏
    X
    swoole mysql协程客户端connect错误?
    57
    0

    按照官方给的代码,但是就是没法正常运行。
    报错并且数据库也没法访问:

    WARNING swManager_check_exit_status: worker#0[pi
    d=2816] abnormal exit, status=127, signal=0
    $http = new Swoole\Http\Server("127.0.0.1", 80);
    
    $http->on('request', function ($request, $response) {
        
        $db = new Swoole\Coroutine\MySQL();
        $res = $db->connect([
            'host' => '127.0.0.1',
            'port' => 3306,
            'user' => 'root',
            'password' => '123456',
            'database' => 'test',
        ]);
        $data = $db->query('select * from users');
        $response->end(json_encode($data));
    });
    
    $http->start();

    求指教

    0
    打赏
    收藏
    点击回答
        全部回答
    • 0
    • 钢茎混凝凸、 普通会员 1楼

      在Swoole中,连接MySQL失败的原因有很多,以下是一些常见的原因:

      1. MySQL服务器端口未开启:如果你的MySQL服务器没有在指定的端口上运行,那么连接就会失败。

      2. MySQL服务器密码错误:如果你的MySQL服务器的密码输入错误,那么连接就会失败。

      3. MySQL服务器未启动:如果你的MySQL服务器未启动,那么连接就会失败。

      4. MySQL服务器服务未运行:如果你的MySQL服务器服务未运行,那么连接就会失败。

      5. MySQL服务器连接超时:如果你的MySQL服务器的连接超时,那么连接就会失败。

      6. PHP请求超时:如果你的PHP请求超时,那么连接就会失败。

      7. MySQL数据库名错误:如果你的MySQL数据库名输入错误,那么连接就会失败。

      你可以通过以下步骤检查和解决问题:

      1. 检查MySQL服务器的端口是否打开:你可以通过在命令行中输入netstat -tuln来查看MySQL服务器的监听端口。

      2. 检查MySQL服务器的密码是否正确:你可以通过在命令行中输入mysql -u root -p来登录MySQL服务器,然后查看密码。

      3. 检查MySQL服务器是否启动:你可以通过在命令行中输入systemctl status mysql来查看MySQL服务器的状态。

      4. 检查MySQL服务器的服务是否运行:你可以通过在命令行中输入systemctl status mysqld来查看MySQL服务器的服务状态。

      5. 检查PHP请求是否超时:你可以通过在命令行中输入curl --connect-timeout 5s http://localhost来检查PHP请求是否超时。

      6. 检查MySQL数据库名是否正确:你可以通过在命令行中输入mysql -u root -p来登录MySQL服务器,然后查看数据库名。

      7. 检查MySQL数据库名是否输入错误:你可以通过在命令行中输入mysql -u root -p来登录MySQL服务器,然后查看数据库名是否输入错误。

    更多回答
    扫一扫访问手机版
    • 回到顶部
    • 回到顶部