# Checking a Project Before Development

A short environment check prevents installation, folder and service problems from consuming development time.

## Environment check

| Check | Successful evidence |
| --- | --- |
| XAMPP opens | Control Panel loads |
| Apache runs | `http://localhost/` opens |
| MySQL runs | phpMyAdmin opens |
| Project location | Folder is inside `htdocs` |
| PHP processing | A PHP page outputs a variable or calculation |
| Database access | Practice database is visible |
| File editing | Saved changes appear after refresh |

## Diagnostic page

Create `environment-check.php` in the project:

~~~php
<?php
$checks = [
    "PHP is running",
    "Files are served by Apache",
    "Server time: " . date("H:i:s")
];
?>
<!doctype html>
<html lang="en">
<head><meta charset="utf-8"><title>Environment check</title></head>
<body>
<h1>Environment check</h1>
<ul>
<?php foreach ($checks as $check): ?>
    <li><?= htmlspecialchars($check) ?></li>
<?php endforeach; ?>
</ul>
</body>
</html>
~~~

Open it through localhost. The example uses iteration to output a list; it is a diagnostic tool, not a complete solution.

## Safe working practices

- Use fictional data.
- Keep files in a clearly named project folder.
- Never expose passwords in screenshots or public repositories.
- Stop services cleanly.
- Keep recoverable backups of files and databases.
- Record approved configuration changes.

## Record the setup

Record the installation path, project folder, local URL, database name, any approved port changes and the most recent successful check. Do not record real passwords.

## Final checklist

- [ ] Diagnostic page opens through localhost.
- [ ] PHP outputs the server time.
- [ ] phpMyAdmin displays the database.
- [ ] Only fictional data is used.
- [ ] Important folders and URLs are recorded.
- [ ] Any unresolved problem includes its exact error message.