如何使用PHP脚本测试PHP 7和WordPress MySQL/MariaDB数据库连接

时间:2020-01-09 10:43:33  来源:igfitidea点击:

如何测试我的PHP 7和适用于WordPress的MySQL/MariaDB是否正常工作。
如果不是,如何在屏幕上或者我的监控系统上看到一些错误。
如何在站点关闭时为WordPress或者任何其他数据库编写用于快速PHP MySQL DB连接测试的脚本并发送电子邮件或者文本?

适用于WordPress的PHP 7 + MySQL/MariaDB脚本

以下脚本将使用WordPress配置文件本身中的数据库/密码信息。
创建一个名为db-mysql-test.php的脚本,并将其放在wordpress目录中,您将其中找到名为wp-config.php的文件:

<?php
define('WEB_ID','l-cbz01');
require('wp-config.php');
$link = mysqli_connect(DB_HOST, DB_USER, DB_PASSWORD, DB_NAME);
 
// failed
// die with an error
if (!$link) {
    // send HTTP/500 status code first
    header($_SERVER['SERVER_PROTOCOL'] . ' 500 Internal Server Error', true, 500);
    echo "<html><head><title>Failed at " .WEB_ID. "</title></head><body><pre>";
    echo "Web server: ". WEB_ID .  PHP_EOL;
    echo "Error: Unable to connect to MySQL." . PHP_EOL;
    echo "Debugging errno: " . mysqli_connect_errno() . PHP_EOL;
    echo "Debugging error: " . mysqli_connect_error() . PHP_EOL;
    exit;
}
 
// succeeded and show message
echo "<html><head><title>Success at " .WEB_ID. "</title></head><body><pre>";
echo "Success: A proper connection to MySQL was made! The my_db database is great." . PHP_EOL;
echo "Host information: " . mysqli_get_host_info($link) . PHP_EOL;
mysqli_close($link);
?>

使用sftp/ftp客户端将脚本上传到Web服务器,运行:

$ scp db-mysql-test.php [email protected]:/var/www/html/cms/

触发浏览器并对其进行测试:

https://www.theitroad.local/cms/db-mysql-test.php

没有错误时的输出示例:
成功测试输出

出现类似PHP 7进程未运行或者MySQL服务器关闭之类的错误时的示例输出:

错误:无法连接到MySQL状态页面

用于自定义数据库的PHP 7 + MySQL/MariaDB脚本(任意cms)

如果您未使用WordPress或者其他工具,请尝试以下脚本。
您必须设置DB_HOST,DB_USER,DB_PASSWORD和DB_NAME:

<?php
// set me
define('WEB_ID','l-cbz01');
define('DB_HOST', 'localhost');
define('DB_USER', 'Hyman');
define('DB_PASSWORD', 'myPasswordHere');
define('DB_NAME', 'myDBNameHere');
$link = mysqli_connect(DB_HOST, DB_USER, DB_PASSWORD, DB_NAME);
 
// failed
// die with an error
if (!$link) {
    // send HTTP/500 status code first
    header($_SERVER['SERVER_PROTOCOL'] . ' 500 Internal Server Error', true, 500);
    echo "<html><head><title>Failed at " .WEB_ID. "</title></head><body><pre>";
    echo "Web server: ". WEB_ID .  PHP_EOL;
    echo "Error: Unable to connect to MySQL." . PHP_EOL;
    echo "Debugging errno: " . mysqli_connect_errno() . PHP_EOL;
    echo "Debugging error: " . mysqli_connect_error() . PHP_EOL;
    exit;
}
 
// succeeded and show message
echo "<html><head><title>Success at " .WEB_ID. "</title></head><body><pre>";
echo "Success: A proper connection to MySQL was made! The my_db database is great." . PHP_EOL;
echo "Host information: " . mysqli_get_host_info($link) . PHP_EOL;
mysqli_close($link);
?>

使用ftp命令或者sftp命令保存并上传脚本:

$ scp db-mysql-test.php [email protected]:/var/www/html/

使用您喜欢的Web浏览器进行测试:

https://www.theitroad.local/cms/db-mysql-test.php

关于脚本失败时发送文本/短信/电子邮件的说明(可选)

您需要使用第三方监控服务,例如Pingdom或者其他。
例如,您可以按如下方式编辑Pingdom测试