Skip to content

System Information Diagnostics

sebiboga edited this page Aug 16, 2026 · 1 revision

System Information & Diagnostics Utility

Overview

TestLink v1.9.20 includes a comprehensive System Information and Diagnostics Utility (install/util/sysinfo.php) that provides detailed information about your system environment, PHP configuration, and database connectivity.

This utility is useful for:

  • Installation troubleshooting - Verify all requirements are met before installing
  • Diagnostic purposes - Check system configuration after installation
  • Support - Collect system information when reporting issues
  • Pre-deployment checks - Validate server readiness before production deployment

Accessing the Utility

Via Web Browser

Navigate to your TestLink installation:

https://your-testlink-instance/install/util/sysinfo.php

The utility will display a comprehensive HTML report with color-coded status indicators.

Via Command Line (CLI)

php /path/to/testlink/install/util/sysinfo.php

The utility will output formatted text results suitable for scripting and automation.


Information Provided

1. PHP Information

  • Version: Current PHP version (7.4+ required)
  • Status: ✓ OK or ✗ ERROR based on minimum requirements
  • Extensions: Detailed list of loaded extensions with status

Required Extensions Checked:

  • mysqli - Database support (required)
  • gd - Image processing for graphs
  • mbstring - String handling
  • json - JSON support
  • curl - HTTP requests for integrations
  • spl - SPL support
  • pdo - PDO support

2. Memory & Execution Configuration

  • Memory Limit: Current limit (recommended: 512MB+)
  • Max Execution Time: Script timeout (recommended: 300+ seconds)
  • Upload Max Filesize: Maximum file upload size
  • POST Max Size: Maximum POST data size
  • Status: OK, WARN, or ERROR based on recommendations

3. Database Connectivity

  • Connection Status: Connected or Failed
  • MySQL/MariaDB Version: Database server version
  • Host: Database hostname
  • Database: Database name
  • Status: OK if connection successful, ERROR if failed

4. Server Environment

  • Operating System: OS type and version
  • Web Server: Server software (Apache, nginx, IIS, etc.)
  • PHP API: SAPI type (cli, fpm, apache, cgi, etc.)
  • Zend Version: Zend Engine version
  • Timezone: Server timezone
  • File Uploads: Enabled or disabled status

5. File Permissions

Checks read/write access for critical directories:

  • config.inc.php - Configuration file (should be readable)
  • gui/templates - Templates directory (should be readable)
  • lib - Library directory (should be readable)
  • install - Install directory (should be accessible)

Status for each:

  • ✓ Exists - File/directory exists
  • ✓ Readable - Readable by web server
  • ✓ Writable - Writable by web server (needed for cache, logs)

Interpreting Results

Status Indicators

Status Meaning Action
✓ OK Requirement met No action needed
⚠ WARN Non-critical issue Consider improving
✗ ERROR Critical issue Fix immediately

Common Issues & Solutions

PHP Version Below 7.4

Issue: PHP version 7.3 or below detected Solution: Upgrade to PHP 7.4 or later

Missing Extensions

Issue: One or more required extensions not loaded Solution:

  • For mysqli: Install php-mysqli package
  • For gd: Install php-gd package
  • For curl: Install php-curl package

Database Connection Failed

Issue: Cannot connect to MySQL/MariaDB Solution:

  • Verify database server is running
  • Check database hostname is correct
  • Verify username and password
  • Check firewall rules for database port

Insufficient Memory Limit

Issue: Memory limit below 256MB Solution:

  • Edit php.ini
  • Find memory_limit parameter
  • Set to 512M or higher
  • Restart web server

Low File Permissions

Issue: Cannot read/write required directories Solution:

  • Fix file permissions: chmod 755 directory/
  • Ensure web server user owns directories: chown www-data:www-data directory/

Usage Scenarios

1. Pre-Installation Check

Before installing TestLink:

php install/util/sysinfo.php

Ensure all items show ✓ OK status.

2. Post-Installation Verification

After installation, run sysinfo.php to confirm:

  • Database connection is working
  • All file permissions are correct
  • Server environment is optimal

3. Troubleshooting Issues

If TestLink behaves unexpectedly:

  1. Run sysinfo.php
  2. Look for ERROR or WARN status items
  3. Fix identified issues
  4. Rerun sysinfo.php to confirm

4. Deployment Validation

Before deploying to production:

  1. Deploy TestLink to staging server
  2. Run sysinfo.php
  3. Verify all requirements are met
  4. Document baseline metrics
  5. Proceed with production deployment

Example Output

Web Browser Output

🔍 TestLink v1.9.20 - System Information & Diagnostics

✓ PHP Information
Version:     7.4.25 (Status: OK)

✓ PHP Extensions
mysqli       Database support              ✓ Loaded
gd           Image processing             ✓ Loaded
mbstring     String handling              ✓ Loaded
json         JSON support                 ✓ Loaded
curl         HTTP requests                ✓ Loaded
pdo          PDO support                  ✓ Loaded
spl          SPL support                  ✓ Loaded

✓ Memory & Execution Limits
Memory Limit          512M
Max Execution Time    300 seconds
Upload Max Size       100M
POST Max Size         100M

✓ Database Connection
Status        Connected
MySQL Version 8.0.23
Host          localhost
Database      testlink

✓ Server Environment
OS            Linux 5.10.0-6-amd64
Server        Apache/2.4.41
PHP API       fpm-fcgi
Timezone      UTC

✓ File Permissions
config.inc.php       OK
gui/templates        OK
lib                  OK
install              OK

CLI Output

======================================================================
PHP Information
======================================================================
  version: 7.4.25
  minimum: 7.4
  status: OK
  message: PHP 7.4.25 ✓

======================================================================
PHP Extensions
======================================================================
  mysqli:
    name: mysqli
    description: Database support
    loaded: Yes
    status: OK
  [... more extensions ...]

Troubleshooting Utilities

If sysinfo.php doesn't show expected information:

  1. Check file exists: Verify install/util/sysinfo.php is present
  2. Check web server access: Verify file is readable by web server
  3. Check PHP execution: Try running from CLI
  4. Check database config: Ensure config.inc.php exists and is readable
  5. Check permissions: Run with appropriate user privileges

Security Notes

  • The utility reads system information but doesn't modify anything
  • Safe to run multiple times
  • Output is HTML formatted (safe for viewing in browser)
  • CLI output is plain text (suitable for piping to files)
  • No sensitive information is exposed in output
  • Database password is not shown (only connectivity status)

Related Documentation


Support

For issues with sysinfo.php:

  1. Run the utility and note the output
  2. Check GitHub Issues for similar problems
  3. Report new issues with full sysinfo.php output

Last Updated: v1.9.20 Created: August 2026

Clone this wiki locally