{"id":15021960,"url":"https://github.com/php/web-pecl","last_synced_at":"2025-04-07T12:05:14.717Z","repository":{"id":2310036,"uuid":"3269605","full_name":"php/web-pecl","owner":"php","description":"The PECL website","archived":false,"fork":false,"pushed_at":"2024-11-24T11:16:05.000Z","size":6481,"stargazers_count":37,"open_issues_count":3,"forks_count":31,"subscribers_count":12,"default_branch":"master","last_synced_at":"2025-04-05T09:34:09.639Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":"http://pecl.php.net","language":"PHP","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"other","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/php.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2012-01-25T23:14:22.000Z","updated_at":"2025-04-04T04:34:09.000Z","dependencies_parsed_at":"2023-07-06T01:54:18.186Z","dependency_job_id":"2583475b-a01c-4bb8-a1e2-fda451ab9b56","html_url":"https://github.com/php/web-pecl","commit_stats":{"total_commits":2496,"total_committers":74,"mean_commits":"33.729729729729726","dds":0.7864583333333334,"last_synced_commit":"3e0a9ccc5af5d380969403685e65de3d78a7ff65"},"previous_names":[],"tags_count":2,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/php%2Fweb-pecl","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/php%2Fweb-pecl/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/php%2Fweb-pecl/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/php%2Fweb-pecl/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/php","download_url":"https://codeload.github.com/php/web-pecl/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":247428544,"owners_count":20937491,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":[],"created_at":"2024-09-24T19:57:16.049Z","updated_at":"2025-04-07T12:05:14.691Z","avatar_url":"https://github.com/php.png","language":"PHP","readme":"# PHP Extension Community Library\n\n[![PECL](/public_html/img/pecl.svg \"PECL\")](https://pecl.php.net)\n\nThe PHP Extension Community Library (PECL) (pronounced *pickle*) is a repository\nfor C and C++ extensions for compiling into the PHP language. This web application\nis hosted online at [pecl.php.net](https://pecl.php.net).\n\n## Index\n\n* [About](#about)\n* [Bugs and support](#bugs-and-support)\n* [Contributing](#contributing)\n* [Directory structure](#directory-structure)\n* [Installation](#installation)\n  * [1. Dependencies](#1-dependencies)\n  * [2. Configuration](#2-configuration)\n  * [3. Database](#3-database)\n  * [4. Apache configuration](#4-apache-configuration)\n  * [5. Tests](#5-tests)\n* [Credits](#credits)\n* [Evolution](#evolution)\n* [License and copyrights](#license-and-copyrights)\n\n## About\n\nTo learn more how to add new PECL extensions or how to install PECL extensions\nusing command line tools visit pecl.php.net and PHP manual.\n\n## Bugs and support\n\nReport bugs to [bugs.php.net](https://bugs.php.net/report.php). The PECL project\nhas a [mailing list](http://news.php.net/php.pecl.dev). More information about\nsupport can be found at [pecl.php.net/support.php](https://pecl.php.net/support.php).\n\n## Contributing\n\nGit repository is located at [git.php.net](https://git.php.net/?p=web/pecl.git).\nContributions to the web application source code are most welcome by forking the\n[GitHub mirror repository](https://github.com/php/web-pecl) and sending a pull\nrequest.\n\n```bash\ngit clone git@github.com:your-username/web-pecl\ncd web-pecl\ngit checkout -b patch-1\ngit add .\ngit commit -m \"Describe changes\"\ngit push origin patch-1\n```\n\nA good practice is to also set the `upstream` remote in case the upstream master\nbranch updates. This way your master branch will track remote upstream master\nbranch of the root repository.\n\n```bash\ngit checkout master\ngit remote add upstream git://github.com/php/web-pecl\ngit config branch.master.remote upstream\ngit pull --rebase\n```\n\n## Directory structure\n\nSource code of this application is structured in the following directories:\n\n```bash\n\u003cweb-pecl\u003e/\n ├─ .git/            # Git configuration and source directory\n └─ bin/             # Command line development tools and scripts\n    ├─ cron/         # Various systems scripts to run periodically on the server\n    └─ ...\n └─ config/          # Application configuration files\n    ├─ app_prod.php  # Production specific environment configuration\n    └─ app.php       # Default configuration to be overridden\n └─ include/         # Application helper functions and configuration\n    ├─ jpgraph/      # Bundled JpGraph library https://jpgraph.net\n    ├─ bootstrap.php # Autoloader, DB connection, container, app initialization\n    └─ ...\n └─ public_html/     # Publicly accessible directory for online pecl.php.net\n    ├─ css/          # Stylesheets\n    ├─ img/          # Images\n    ├─ js/           # JavaScript assets\n    ├─ packages/     # Uploaded packages releases static files\n    ├─ rest/         # Static REST API generated XML files\n    └─ ...\n ├─ sql/             # Database schema\n ├─ src/             # Application source code classes\n ├─ templates/       # Application templates\n ├─ tests/           # Application automated tests\n └─ var/             # Temporary generated application files\n    ├─ uploads/      # Temporary uploaded packages releases\n    └─ ...\n ├─ vendor/          # Dependencies generated by Composer\n ├─ .env.dist        # Distributed environment variables file for development\n ├─ composer.json    # Composer dependencies and project meta definition\n ├─ composer.lock    # Dependencies versions currently installed\n ├─ phpunit.xml.dist # PHPUnit's default XML configuration\n └─ ...\n```\n\n## Installation\n\nThe pecl.php.net is written for PHP 7.2+, MySQL, and Apache 2.4.\n\n### 1. Dependencies\n\nInstall dependencies with Composer:\n\n```bash\ncomposer install\n```\n\n### 2. Configuration\n\nApplication configuration is located in the `config` directory. The main file\n`config/app.php` includes default application settings. When installing\napplication with Composer in the development environment, the `.env` file with\nenvironment variables is created from the `.env.dist`.\n\nIf it hasn't been created yet copy default distributed settings manually and\nadjust it for your development environment:\n\n```bash\ncp .env.dist .env\n```\n\nThe `config/app_prod.php` is a configuration file for production environment at\npecl.php.net. Configuration precedence order is (first that is encountered):\n\n* Environment variables (either set in the `.env` file for development or via\n  server for production).\n* `config/app_prod.php`\n* `config/app.php`\n\n### 3. Database\n\nThe database schema is available in the SQL file\n[pecl_full_structure_prod.sql](/sql/pecl_full_structure_prod.sql).\n\nTo create the database, run `make create`. To remove the created database run\n`make destroy` in the `sql` directory. On systems where `make` is not available,\nfor example, FreeBSD, use `gmake` instead.\n\nCreate demo data fixtures for the development environment:\n\n```bash\nbin/console app:generate-fixtures\n```\n\nThis will create user `admin` with password `password` to be able to login on\nlocalhost.\n\n### 4. Apache configuration\n\nThese are typical Apache directives you need to set up for a development site.\nThis installation has PEAR installed in `/usr/share/pear`.\n\n```apacheconf\n\u003cVirtualHost *\u003e\n    ServerName pecl.localhost\n\n    DocumentRoot /path/to/pecl/public_html\n    DirectoryIndex index.php index.html\n\n    php_value include_path .:/path/to/pecl/include:/usr/share/pear\n    php_value auto_prepend_file pear-prepend.php\n\n    ErrorDocument 404 /error/404.php\n\n    Alias /package /path/to/pecl/public_html/package-info.php\n\n    RewriteEngine On\n    RewriteRule   /rss.php              /feeds/latest.rss [R=301]\n\n    # Rewrite rules for the RSS feeds\n    RewriteRule   /feeds/(.+)\\.rss$ /feeds/feeds.php?type=$1\n\n    # Rewrite rules for the account info /user/handle\n    RewriteRule   /user/(.+)$ /account-info.php?handle=$1\n\n    # Rewrite rule for account info /package/pkgname/version\n    RewriteRule   /package/(.+)/(.+)/windows$ /package-info-win.php?package=$1\u0026version=$2\n    RewriteRule   /package/(.+)/(.+)$ /package-info.php?package=$1\u0026version=$2\n    RewriteRule   /package/(.+)$ /package-info.php?package=$1\n\n    \u003cLocation /get\u003e\n        ForceType application/x-httpd-php\n    \u003c/Location\u003e\n\u003c/VirtualHost\u003e\n```\n\n### 5. Tests\n\nIn development environment after installing development dependencies run\n`phpunit` to execute application unit tests:\n\n```bash\nphpunit\n```\n\n## Credits\n\nThis page would not be possible without a continuous effort of maintainers of\nPECL extensions, open source contributors, hosting infrastructure sponsors, and\npeople involved in maintaining this site. Big thanks to\n[everyone involved](https://pecl.php.net/credits.php).\n\n## Evolution\n\nPECL, formerly known as *PHP Extension Code Library*, has been initially started\nunder the [PEAR](https://pear.php.net) umbrella. In October 2003 it has been\nrenamed to *PHP Extension Community Library* and has evolved from the\n[pearweb](https://github.com/pear/pearweb) application. Under the hood, pearweb\nuses a set of utility classes called *Damblan* (name derived from the\nNepalese summit [Ama Dablam](https://www.summitpost.org/ama-dablam/150234)) by a\nlead developer Martin Jansen.\n\nSince then, PECL related services have been moved to online community repository\n[pecl.php.net](https://pecl.php.net/) exclusively dedicated to extensions written\nin C programming language to efficiently extend the PHP language. Today, many\nwidely used PECL extensions written in C and C++ are hosted and distributed via\nPECL.\n\n## License and copyrights\n\nThis repository is released under the [PHP license](LICENSE). Visit the\n[copyright page](https://pecl.php.net/copyright.php) for more information.\n","funding_links":[],"categories":[],"sub_categories":[],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fphp%2Fweb-pecl","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fphp%2Fweb-pecl","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fphp%2Fweb-pecl/lists"}