ofbeaton/db-ping 问题修复 & 功能扩展

解决BUG、新增功能、兼容多环境部署,快速响应你的开发需求

邮箱:yvsm@zunyunkeji.com | QQ:316430983 | 微信:yvsm316

ofbeaton/db-ping

Composer 安装命令:

composer create-project ofbeaton/db-ping

包简介

Verify a Database server is responding.

README 文档

README

db-ping verifies a database server is responding by executing a query in a timed loop.

Latest Stable Version Minimum PHP Version Build Status

Optionally includes slave replication checks.

PHP 5.6+ console command that uses PDO to provide the database drivers:

  • MySQL
  • ODBC (i.e. Microsoft SQL Server ...)

Updates

The project is considered in a usable state and feature complete.

This project is used in corporate applications. As such, the authors are unlikely to update it on a regular basis, but instead when the corporate applications that use it run into problems. You should expect updates in the 5-10yr range.

Issues and PRs will be monitored, and we will continue to work with the community to provide updates as they are contributed.

Installing via phar

Before proceeding, you need a working PHP 5.6+ installation.

The recommended way to install db-ping is by downloading the phar.

See Releases for downloads.

Next, run the phar from the command line:

php db-ping.phar help

php db-ping.phar mysql --pass=mysecretpassword

php db-ping.phar ODBC -d OdbcName -u user -p password

Testing

Smoke test

If there is no mysql server running locally, pinging will give a connection refused error as below

$ php bin/db-ping mysql
DB-PING 127.0.0.1:3306
from 127.0.0.1:3306: connection refused. delay=2000ms, exec=0ms, since success=0s, since fail=0s
from 127.0.0.1:3306: connection refused. delay=2000ms, exec=0ms, since success=0s, since fail=2.0006s

Against a real MySql server

Launch a temporary mysql server:

docker run --name some-mysql --rm -e MYSQL_ROOT_PASSWORD=my-secret-pw -e MYSQL_USER=user -e MYSQL_PASSWORD=pass -p 3306:3306 mysql

Wait a few seconds while it initializes, then open another terminal and ping it:

$ php bin/db-ping mysql -u user -p pass
DB-PING 127.0.0.1:3306
from 127.0.0.1:3306: connected. delay=2000ms, exec=0ms, since success=0s, since fail=0s
from 127.0.0.1:3306: check passed. delay=2000ms, exec=0ms, since success=0s, since fail=0s
from 127.0.0.1:3306: check passed. delay=2000ms, exec=0ms, since success=2.0022s, since fail=0s
from 127.0.0.1:3306: check passed. delay=2000ms, exec=0ms, since success=4.0028s, since fail=0s

To stop the dockerfile: docker stop some-mysql

Against a real database server via ODBC

  1. Set up your php server for ODBC
  2. Add the server you'd like to test against to the /etc/odbc.ini file (on linux)
  3. Ping it
$ php bin/db-ping ODBC -d MarketflowAcc -u rou -p rou
DB-PING odbc:MarketflowAcc
from odbc:MarketflowAcc: connected. delay=2000ms, exec=0ms, since success=0s, since fail=0s
from odbc:MarketflowAcc: check passed. delay=2000ms, exec=0ms, since success=0s, since fail=0s
from odbc:MarketflowAcc: check passed. delay=2000ms, exec=0ms, since success=2.0058s, since fail=0s
from odbc:MarketflowAcc: check passed. delay=2000ms, exec=0ms, since success=4.0071s, since fail=0s
from odbc:MarketflowAcc: check passed. delay=2000ms, exec=0ms, since success=6.0083s, since fail=0s

The ping SQL query can be repeated more than once per ping with the repeat option. This is useful to make the ping test more stressful:

$ php bin/db-ping ODBC -d MarketflowAcc -u rou -p rou --repeat 100

The output format can be controlled with the format option:

$ php bin/db-ping ODBC -d MarketflowAcc -u rou -p rou --repeat 100 --format te
DB-PING odbc:MarketflowAcc
2017-01-11 14:55:35, 0
2017-01-11 14:55:35, 3
2017-01-11 14:55:37, 3
2017-01-11 14:55:39, 3
2017-01-11 14:55:41, 3

Also, et instead of te would shuffle the order

Unit tests

Run vbin/phing check

License

This software is distributed under the MIT License. Please see License file for more information.

统计信息

  • 总下载量: 18
  • 月度下载量: 0
  • 日度下载量: 0
  • 收藏数: 6
  • 点击次数: 0
  • 依赖项目数: 0
  • 推荐数: 0

GitHub 信息

  • Stars: 6
  • Watchers: 1
  • Forks: 1
  • 开发语言: PHP

其他信息

  • 授权协议: MIT
  • 更新时间: 2016-08-05

承接程序开发

PHP开发

VUE

Vue开发

前端开发

小程序开发

公众号开发

系统定制

数据库设计

云部署

网站建设

安全加固