{"id":19909683,"url":"https://github.com/bearsampp/module-php","last_synced_at":"2026-06-03T05:00:43.851Z","repository":{"id":40309695,"uuid":"302056225","full_name":"Bearsampp/module-php","owner":"Bearsampp","description":"📦 PHP module for Bearsampp project","archived":false,"fork":false,"pushed_at":"2026-04-17T05:42:35.000Z","size":246070,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":2,"default_branch":"main","last_synced_at":"2026-04-17T07:32:23.497Z","etag":null,"topics":["developer-tools","hacktoberfest","php","wamp"],"latest_commit_sha":null,"homepage":"https://bearsampp.com/module/php/","language":"PHP","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":"neard/module-php","license":"gpl-3.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/Bearsampp.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":".github/CONTRIBUTING.md","funding":".github/FUNDING.yml","license":"LICENSE","code_of_conduct":".github/CODE_OF_CONDUCT.md","threat_model":null,"audit":null,"citation":null,"codeowners":".github/CODEOWNERS","security":null,"support":".github/SUPPORT.md","governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null,"notice":null,"maintainers":null,"copyright":null,"agents":null,"dco":null,"cla":null},"funding":{"github":"N6REJ","custom":"https://www.paypal.me/BearLeeAble"}},"created_at":"2020-10-07T14:07:58.000Z","updated_at":"2026-04-17T05:42:39.000Z","dependencies_parsed_at":"2024-01-01T05:27:20.897Z","dependency_job_id":"a1ed3906-ffe0-4ce8-88ee-4cb4071b3bc9","html_url":"https://github.com/Bearsampp/module-php","commit_stats":null,"previous_names":[],"tags_count":83,"template":false,"template_full_name":null,"purl":"pkg:github/Bearsampp/module-php","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Bearsampp%2Fmodule-php","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Bearsampp%2Fmodule-php/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Bearsampp%2Fmodule-php/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Bearsampp%2Fmodule-php/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/Bearsampp","download_url":"https://codeload.github.com/Bearsampp/module-php/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Bearsampp%2Fmodule-php/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":33848862,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-05-26T15:22:16.424Z","status":"online","status_checked_at":"2026-06-03T02:00:06.370Z","response_time":59,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"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":["developer-tools","hacktoberfest","php","wamp"],"created_at":"2024-11-12T21:16:20.494Z","updated_at":"2026-06-03T05:00:43.845Z","avatar_url":"https://github.com/Bearsampp.png","language":"PHP","funding_links":["https://github.com/sponsors/N6REJ","https://www.paypal.me/BearLeeAble"],"categories":[],"sub_categories":[],"readme":"\u003cp align=\"center\"\u003e\u003ca href=\"https://bearsampp.com/contribute\" target=\"_blank\"\u003e\u003cimg width=\"250\" src=\"img/Bearsampp-logo.svg\"\u003e\u003c/a\u003e\u003c/p\u003e\n\n[![GitHub release](https://img.shields.io/github/release/bearsampp/module-php.svg?style=flat-square)](https://github.com/bearsampp/module-php/releases/latest)\n![Total downloads](https://img.shields.io/github/downloads/bearsampp/module-php/total.svg?style=flat-square)\n\nThis is a module of [Bearsampp project](https://github.com/bearsampp/bearsampp) involving PHP.\n\n## Build System\n\nThis project uses **Gradle** as its build system. The legacy Ant build has been fully replaced with a modern, pure Gradle implementation.\n\n### Quick Start\n\n```bash\n# Display build information\ngradle info\n\n# List all available tasks\ngradle tasks\n\n# Verify build environment\ngradle verify\n\n# Build a release (interactive) - automatically fetches latest dependencies\ngradle release\n\n# Build a specific version (non-interactive)\ngradle release -PbundleVersion=8.3.15\n\n# Update dependencies only (without building)\ngradle fetch -PbundleVersion=8.3.15\n\n# Clean build artifacts\ngradle clean\n```\n\n### Creating a New PHP Version Build\n\nWhen a new PHP version is released, follow these steps:\n\n1. **Create version directory structure**:\n   ```bash\n   mkdir bin/php8.4.16\n   ```\n\n2. **Copy configuration files** from a similar version:\n   ```bash\n   # Copy from previous version\n   cp bin/php8.4.15/* bin/php8.4.16/\n   ```\n\n3. **Build the release** (fetch is automatic):\n   ```bash\n   gradle release -PbundleVersion=8.4.16\n   ```\n   \n   The `release` task automatically runs `fetch` which will:\n   - ✅ Update `build.properties` with today's date\n   - ✅ Fetch the latest release tag from `modules-untouched` repository\n   - ✅ Find and update ImageMagick, php_imagick, memcache, xdebug, and PEAR URLs\n   - ✅ Update `bearsampp.conf` with the new PHP version\n   - ✅ Update `deps.properties`, `exts.properties`, and `pear.properties`\n   - ✅ Update version-specific paths in `php.ini`\n   - ✅ Download PHP binaries and dependencies\n   - ✅ Build and package the release\n\n4. **Review the updated files** in `bin/php8.4.16/`:\n   - `bearsampp.conf` - PHP version updated\n   - `exts.properties` - Extension URLs updated\n   - `deps.properties` - Dependency URLs updated\n   - `pear.properties` - PEAR URL updated\n   - `php.ini` - Version-specific paths updated\n\n5. **Commit the changes** to git:\n   ```bash\n   git add bin/php8.4.16/\n   git commit -m \"Add PHP 8.4.16 configuration\"\n   ```\n\n\u003e **Note**: The `fetch` task is automatically included in the `release` build process. You only need to run `gradle fetch` separately if you want to update dependency URLs without building a release.\n\n### How the Fetch Task Works\n\nThe `fetch` task integrates with the [Bearsampp modules-untouched](https://github.com/Bearsampp/modules-untouched) repository:\n\n1. **Reads `php.properties`** from modules-untouched to get the PHP download URL\n2. **Extracts the release tag** (e.g., `php-2025.12.7`) from the URL\n3. **Queries GitHub API** to get all assets from that release\n4. **Pattern matches** to find the latest versions of:\n   - ImageMagick (portable Q16-HDRI x64)\n   - php_imagick (matching PHP major.minor version)\n   - php_memcache (matching PHP major.minor version)\n   - php_xdebug (matching PHP major.minor version)\n   - PEAR (pearweb_phars)\n5. **Updates configuration files** with the new URLs\n6. **Updates version-specific paths** in php.ini\n\nThis ensures all dependencies are automatically synchronized with the latest compatible versions from the modules-untouched releases.\n\n### Prerequisites\n\n| Requirement       | Version       | Purpose                                  |\n|-------------------|---------------|------------------------------------------|\n| **Java**          | 8+            | Required for Gradle execution            |\n| **Gradle**        | 8.0+          | Build automation tool                    |\n| **PowerShell**    | 5.0+          | DLL architecture validation              |\n| **7-Zip**         | Latest        | Archive extraction (optional)            |\n\n### Available Tasks\n\n| Task                  | Description                                      |\n|-----------------------|--------------------------------------------------|\n| `release`             | Build release package (interactive/non-interactive) |\n| `fetch`               | Fetch and update dependencies from modules-untouched |\n| `clean`               | Clean build artifacts and temporary files        |\n| `verify`              | Verify build environment and dependencies        |\n| `info`                | Display build configuration information          |\n| `listVersions`        | List available bundle versions in bin/           |\n| `listExtensions`      | List PHP extensions configured in bin/           |\n| `validateProperties`  | Validate build.properties configuration          |\n\nFor complete documentation, see [.gradle-docs/README.md](.gradle-docs/README.md)\n\n## Documentation\n\n- **Build Documentation**: [.gradle-docs/README.md](.gradle-docs/README.md)\n- **Task Reference**: [.gradle-docs/TASKS.md](.gradle-docs/TASKS.md)\n- **Configuration Guide**: [.gradle-docs/CONFIGURATION.md](.gradle-docs/CONFIGURATION.md)\n- **API Reference**: [.gradle-docs/API.md](.gradle-docs/API.md)\n- **CI/CD Testing**: [docs/PHP-EXTENSION-TESTING.md](docs/PHP-EXTENSION-TESTING.md)\n- **Module Downloads**: https://bearsampp.com/module/php\n\n## Issues\n\nIssues must be reported on [Bearsampp repository](https://github.com/bearsampp/bearsampp/issues).\n\n## Statistics\n\n![Alt](https://repobeats.axiom.co/api/embed/2b56dc0b1aac6a6280b8051a41421d4fbb89ef49.svg \"Repobeats analytics image\")\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fbearsampp%2Fmodule-php","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fbearsampp%2Fmodule-php","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fbearsampp%2Fmodule-php/lists"}