This repository was archived by the owner on Oct 1, 2024. It is now read-only.
-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathhealth-example.php
53 lines (43 loc) · 1.72 KB
/
health-example.php
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
<?php
use BB\WPHealthCheck\WordPressApplicationCheck;
use BB\WPHealthCheck\WordPressFileSystemCheck;
use BB\WPHealthCheck\WordPressPageLoadCheck;
use BB\WPHealthCheck\Diagnostics\BuildInfo;
use BB\WPHealthCheck\SendJsonResponseHealthCheckFactory;
use Symfony\Component\HttpFoundation\JsonResponse;
$mysqli = new mysqli(
getenv('DB_HOST'),
getenv('DB_USER'),
getenv('DB_PASSWORD'),
getenv('DB_NAME')
);
$webRootDir = new SplFileObject('/path/to/webroot');
$wordPressRootDir = new SplFileObject('path/to/wordpress/root/');
$wordPressConfigFile = new SplFileObject('path/to/wordpress/config/file');
// $buildInfo defaults to []
$buildInfoArray = [
'buildVersion' => getenv('BUILD_VERSION'),
'libraryImageVersion' => getenv('LIBRARY_IMAGE_VERSION'),
];
$buildInfo = new BuildInfo($buildInfo);
$sendJsonResponseHealthCheckFactory = new SendJsonResponseHealthCheckFactory(
'Application is awesome',
'There is something wrong with the application',
new JsonResponse()
);
$wpFileSystemCheck = new WordPressFileSystemCheck();
$wpFileSystemCheck->setWebRootDir($webRootDir)
->setWordPressRootDir($wordPressRootDir)
->setWordPressConfigFile($wordPressConfigFile)
->constructSubSystemDiagnostics();
$wpPageLoadCheck = new WordPressPageLoadCheck();
$wpPageLoadCheck->setRelativeURLTocheck('wp-activate.php')
->setExpectedTransferTimeSecs(2)
->setResponseTimeOutSecs(5)
->setConnectionTimeOutSecs(5);
$wpApplicationCheck = (new WordPressApplicationCheck($sendJsonResponseHealthCheckFactory))
->setWordPressFileSystemCheck($wpFileSystemCheck)
->setMysqli($mysqli)
->setBuildInfo($buildInfo)
->setWordPressPageLoadCheck($wpPageLoadCheck);
$wpApplicationCheck->displayHealthCheckReport();