ph7software / ph7builder
Self-hosted PHP platform for building white-label dating sites, matchmaking communities, and social networks
Package info
github.com/pH7Software/pH7-Social-Dating-CMS
Type:project
pkg:composer/ph7software/ph7builder
Requires
- php: ^8.2
- ext-curl: *
- ext-dom: *
- ext-exif: *
- ext-fileinfo: *
- ext-gd: *
- ext-hash: *
- ext-iconv: *
- ext-json: *
- ext-mbstring: *
- ext-openssl: *
- ext-pdo_mysql: *
- ext-simplexml: *
- ext-xml: *
- ext-xmlwriter: *
- ext-zip: *
- ext-zlib: *
- arcturial/clickatell: ^3.0
- aws/aws-sdk-php: ^3.200
- bacon/bacon-qr-code: ^3.0
- braintree/braintree_php: ^6.0
- ezyang/htmlpurifier: ^4.19
- fakerphp/faker: ^1.24
- geoip2/geoip2: ^3.3
- guzzlehttp/guzzle: ^7.4
- ph-7/cute-link-names: ^2.0
- ph-7/datatype: ^1.0
- ph-7/html-to-text: ^2.0
- ph-7/just-http-status-codes: ^1.1
- ph-7/passcode-password-generator: ^2.0
- ph-7/ph2gravatar: ^2.0
- robthree/twofactorauth: ^3.0
- stripe/stripe-php: ^20.0
- symfony/console: ^7.4
- symfony/mailer: ^7.4
- twbs/bootstrap: ^3.4
- twilio/sdk: ^8.0
Requires (Dev)
- dealerdirect/phpcodesniffer-composer-installer: ^1.0
- friendsofphp/php-cs-fixer: ^3.95
- phake/phake: ^4.1
- phpstan/phpstan: ^2.1
- phpunit/phpunit: ^11.5
Suggests
- symfony/thanks: Thank your favorite PHP projects on GitHub (in the form of GitHub stars) using CLI
This package is auto-updated.
Last update: 2026-08-13 22:47:14 UTC
README
Self-hosted, open-source PHP software for building white-label dating sites, matchmaking communities, and social networks. You keep control of the code, hosting, database, and member data.
Formerly pH7CMS.
What you need: PHP 8.2+, MySQL 8.0+, URL rewriting, and a web server. Composer 2 is needed only for a source checkout; the versioned release ZIP includes locked production dependencies. With the server ready, allow about 20–30 minutes for deployment and the guided browser installer. DNS, TLS certificate issuance, and mail-provider approval are outside that estimate.
Quick Start · Upgrade Guide · Launch Checklist · Release guides · Releases
Built for ownership
pH7Builder gives entrepreneurs a self-hosted alternative to rented SaaS platforms. Deploy it on infrastructure you choose, adapt the source code to your niche, and retain control of the application, database, files, and member data. There is no required public “Powered by” link; the MIT license notice simply remains with copies or substantial portions of the software.
Self-hosting also lets an owner choose energy-conscious infrastructure and control how media, caching, and server resources are used. The actual footprint depends on the host, traffic, content, and configuration.
What is included
- Member profiles, search, matchmaking, nearby people, friends, and activity streams.
- Private messages, instant chat, notifications, comments, forums, blogs, photos, and videos.
- Membership groups, paid plans, advertisements, affiliates, and supported payment-gateway integrations.
- Account approval, reporting, moderation queues, registration throttling, blocking tools, and optional image screening.
- Multilingual routes and content, translated interface packs, multiple themes, an administration panel, and PWA support when served over HTTPS.
- A modular MVC application built on the project-specific pH7Framework and PH7Tpl template engine.
Features depend on the modules you enable and the external services you configure. Before accepting real users or payments, complete the Launch Checklist and test the exact production configuration.
Explore the feature set
- Discovery and matching: advanced member search, behavioral matchmaking, related profiles, nearby people, Hot or Not, profile ratings, mutual friends, visits, likes, profile backgrounds, and privacy controls.
- Publishing and conversation: private mail, instant messaging, chat, notifications, comments, blogs, notes, forums, pages, photo albums, videos, newsletters, invitations, and activity streams.
- Business tools: membership groups and permissions, paid plans, advertisements, an affiliate programme, payment integrations, basic analytics, database backups, file management, dynamic profile fields, and CSV user import.
- Trust and moderation: member and content approval queues, abuse reports, blocking tools, country restrictions, login-attempt protection, registration throttling, duplicate-content checks, optional image screening, two-factor authentication, and optional SMS verification through configured providers.
- Platform and reach: multilingual routes and interface packs, responsive themes, SEO controls, sitemap and RSS support, a REST API module, PWA support, cron automation, maintenance mode, and sample-profile generation for non-production evaluation.
Requirements
- PHP 8.2 or newer with
curl,dom,exif,fileinfo, GD with FreeType and WebP,hash,iconv,json,mbstring,openssl,pdo_mysql,simplexml,xmlwriter,xml,zip, andzlib. - MySQL 8.0 or newer with
utf8mb4support. Older MySQL releases and MariaDB are not verified or supported for this release. - Apache with URL rewriting, or nginx with equivalent routing and protected path rules.
- Composer 2 and outbound Internet access when installing from a source checkout instead of the versioned release ZIP.
- A server/hosting sendmail transport, or SMTP credentials supplied through
the server environment as
PH7_MAILER_DSN. The application does not store SMTP credentials in its admin form. - HTTPS for production.
- FFmpeg only when locally uploaded video processing is enabled.
The browser installer checks the runtime, extensions, writable paths, MySQL version, and database connection before importing the schema.
Quick start
Local evaluation with Docker
This path is for development and evaluation, not a production deployment:
git clone https://github.com/pH7Software/pH7-Social-Dating-CMS.git cd pH7-Social-Dating-CMS docker compose up --build -d docker compose exec php php _install/create-install-token.php
Copy the one-time token printed by the second command, then open
http://localhost:8080 and enter it. In the installer, use database host db,
database ph7builder, username ph7builder, password ph7builder, and port
3306. The checkout is snapshotted into a Docker volume. To test changed source,
run docker compose down -v before docker compose up --build -d; this refreshes
the snapshot but permanently deletes the local application and database volumes.
Production
Use the ready-to-run ZIP attached to a tagged
release, set
only the required writable paths, configure the web server, and then open
/_install/. Generate the required installer access token from the deployed
directory before opening the browser installer.
curl -LO https://github.com/pH7Software/pH7-Social-Dating-CMS/releases/download/v18.6.0/pH7Builder-v18.6.0.zip curl -LO https://github.com/pH7Software/pH7-Social-Dating-CMS/releases/download/v18.6.0/pH7Builder-v18.6.0.zip.sha256 sha256sum -c pH7Builder-v18.6.0.zip.sha256 unzip pH7Builder-v18.6.0.zip cd pH7Builder-v18.6.0
Composer can install the same tagged release from Packagist:
composer create-project ph7software/ph7builder:18.6.0 pH7Builder-v18.6.0 --no-dev --prefer-dist
pH7Builder is also listed on Softaculous and SourceForge. Those catalogues can lag behind GitHub and Packagist, so compare the offered version with the latest GitHub release before installing or upgrading.
The complete copy-paste deployment procedure—including database creation, permissions, nginx/Apache notes, HTTPS, cron, mail, payments, and the first test signup—is in the Production Quick Start.
Important
Never expose _protected, _repository, _tests, _tools, .git, or
installer-private directories. The tracked nginx.conf shows
the required production protections; replace its example domain, document
root, log paths, and PHP-FPM socket for your server.
From install to launch
After installation, sign in at /admin123/ and work through these areas:
- Branding: Settings → General, Meta Tags/Homepage Texts, and your theme.
- Registration: Settings → Registration; choose activation and moderation rules deliberately.
- Memberships: Billing → Memberships List; verify every limit and price.
- Payments: Billing → Gateways Configuration; begin with test credentials and keep unused gateways disabled.
- Email: Settings → Email controls sender details. Configure SMTP through
PH7_MAILER_DSNor provide a server sendmail relay, then test delivery and spam placement. - Automation: Settings → Automation contains the secret used by cron URLs; see the exact jobs in the Quick Start.
- Go live: complete the security, legal, moderation, backup, email, and payment checks in the Launch Checklist.
Upgrading
Back up the database and application files before every upgrade. Read the release notes for version-specific migrations, preserve local configuration, run the manual Upgrade Guide, clear application caches, and test on a staging copy before production. Do not overwrite a live installation with an unreviewed branch archive.
Translations
Language packs live in the separate pH7 Internationalization repository. Keep application code and community translations in their respective repositories.
Product gallery
The bundled themes are responsive and can be adapted to match a dating brand or community niche. The exact screens and modules shown depend on the selected theme and enabled configuration.
Documentation and support
- Official website
- Release guides
- Legacy how-to documentation — useful for older customization topics; prefer the release guides for installation, upgrades, and security-sensitive instructions.
- Issue tracker
- Discussions
- Security policy
Search existing issues before opening a bug report. Use Discussions for setup
questions and ideas. Report vulnerabilities privately as described in
SECURITY.md.
Contributing
Bug fixes, tests, documentation, modules, themes, and translations are welcome. Please read CONTRIBUTING.md, keep pull requests focused, and run the test and static-analysis commands listed there.
Creator
Designed and coded with lots of ❤️ by Pierre-Henry Soria, a passionate Belgian software engineer and open-source product creator.
|
Pierre-Henry Soria |
Pierre-Henry Soria created
pH7Builder and the project-specific pH7Framework to give entrepreneurs a
flexible, self-hosted foundation for dating services and social
communities.
The project is developed openly through the pH7Software organization. Follow Pierre-Henry on GitHub, Bluesky, or X, and connect professionally on LinkedIn. |
A moment from the project history
Pierre-Henry working on pH7Software at a Costa Coffee shop on February 4, 2017.
Early versions were crafted with a deliberately practical toolset: LAMP, Geany, Sublime Text, PhpStorm, GIMP, ImageOptim, Poedit, and Git.
If pH7Builder helps your business, you can support continued open-source
maintenance through
.
License
pH7Builder is distributed under the MIT License. See COPYRIGHT.md for project and third-party notice guidance.




