1# PHP Bug Tracking System 2 3This is a unified bug tracking system for PHP hosted online at 4[bugs.php.net](https://bugs.php.net). 5 6## Local installation 7 8* Install development dependencies with Composer: 9 10```bash 11composer install 12``` 13 14* Configuration: 15 16Modify `local_config.php` according to your local development environment. 17 18* Database: 19 20Create a new MySQL/MariaDB database using `sql/database.sql`, create database 21schema `sql/schema.sql` and insert fixtures using `sql/fixtures.sql`. 22 23## Tests 24 25Application unit tests can be executed in development environment after 26installing dependencies by running `phpunit`: 27 28```bash 29./vendor/bin/phpunit 30``` 31 32## Directory structure 33 34Source code of this application is structured in the following directories: 35 36```bash 37<web-bugs>/ 38 ├─ .git/ # Git configuration and source directory 39 ├─ config/ # Application configuration parameters, services... 40 ├─ docs/ # Application documentation 41 └─ include/ # Application helper functions and configuration 42 ├─ prepend.php # Autoloader, DB connection, container, app initialization 43 └─ ... 44 └─ scripts/ # Command line development tools and scripts 45 ├─ cron/ # Various systems scripts to run periodically on the server 46 └─ ... 47 ├─ sql/ # Database schema and fixtures 48 └─ src/ # Application source code classes 49 ├─ Horde/ # https://www.horde.org/libraries/Horde_Text_Diff 50 └─ ... 51 ├─ templates/ # Application templates 52 ├─ tests/ # Application automated tests 53 ├─ uploads/ # Uploaded patch files 54 ├─ var/ # Transient and temporary generated files 55 ├─ vendor/ # Dependencies generated by Composer 56 └─ www/ # Publicly accessible directory for online bugs.php.net 57 ├─ css/ # Stylesheets 58 ├─ images/ # Images 59 ├─ js/ # JavaScript assets 60 └─ ... 61 ├─ composer.json # Composer dependencies and project meta definition 62 ├─ composer.lock # Dependencies versions currently installed 63 ├─ local_config.php # Application configuration 64 ├─ local_config.php.sample # Distributed configuration example 65 ├─ phpunit.xml.dist # PHPUnit's default XML configuration 66 └─ ... 67``` 68 69## Contributing 70 71Issues with the application and new feature requests can be reported to 72[bugs.php.net](https://bugs.php.net) and discussed by sending message to the 73[webmaster mailing list](http://news.php.net/php.webmaster) to the address 74php-webmaster@lists.php.net. 75 76Application source code is located in the 77[github.com/php/web-bugs](https://github.com/php/web-bugs) repository. 78 79To contribute: 80 81```bash 82git clone git@github.com:your-username/web-bugs 83cd web-bugs 84git checkout -b patch-1 85git add . 86git commit -m "Describe changes" 87git push origin patch-1 88``` 89 90A good practice is to also set the upstream remote in case the upstream master 91branch updates. This way your master branch will track remote upstream master 92branch of the root repository. 93 94```bash 95git checkout master 96git remote add upstream git://github.com/php/web-bugs 97git config branch.master.remote upstream 98git pull --rebase 99``` 100 101## Documentation 102 103More information about this application can be found in the [documentation](/docs). 104