Phosphorum is an engine for building flexible, clear and fast forums. You can adapt it to your own needs or improve it if you want.
Please write us if you have any feedback.
It is used by:
The master branch will always contain the latest stable version. If you wish to check older versions or newer ones currently under development, please switch to the relevant branch/tag.
To run this application on your machine, you need at least:
- Curl extension
- Openssl extension
- Internationalization (intl) extension
- Mbstring (mbstring) extension
- Composer
- PHP >= 5.5
- Apache Web Server with mod_rewrite enabled or Nginx Web Server
- Latest stable Phalcon Framework release extension enabled
- Beanstalkd server
Install composer in a common location or in your project:
$ curl -s http://getcomposer.org/installer | phpCreate the composer.json file as follows:
{
"require": {
"phalcon/forum": "~2.3"
}
}Run the composer installer:
$ php composer.phar installThen you'll need to create the database and initialize schema:
$ echo 'CREATE DATABASE forum CHARSET=utf8 COLLATE=utf8_unicode_ci' | mysql -u root
$ cat schemas/forum.sql | mysql -u root phosphorumCopy environment config:
$ cp .env.example .envCopy application config:
$ cp app/config/config.example.php app/config/config.phpYou can override application configuration by creating development configuration:
$ cp app/config/development.example.php app/config/development.phpChanges to the database that you need to spend if your version...
- Older than 2.0.0:
schemas/upgrade-to-2.0.0.sql - Older than 2.0.1:
schemas/upgrade-to-2.0.1.sql
You can create fake entries on an empty Phosphorum installation by running:
$ php scripts/random-entries.phpAfter installing Phosphorum, you may need to configure some permissions.
Directories within the app/cache and the app/logs directory should be writable by your web server or Phosphorum will not run.
This application uses Github as authentication system, you need a client id and secret id
to be set up in the configuration (app/config/config.php).
A PHP client to deliver e-mails must be enabled in background:
$ php scripts/send-notifications-consumer.php &You can serve it with Supervisor by using following config:
; /etc/supervisor/conf.d/send-notifications-consumer.conf
;
; This is axample.
; Please update config according to your environment
[program:notifications_consumer]
command=/usr/bin/php send-notifications-consumer.php
directory=/var/www/forum/scripts/
autostart=true
autorestart=true
user=www-data
stderr_logfile=/var/www/forum/app/logs/notification_consumer.err.log
stdout_logfile=/var/www/forum/app/logs/notification_consumer.out.logPhosphorum use Codeception functional, acceptance and unit tests.
First you need to re-generate base classes for all suites:
$ vendor/bin/codecept buildSure, for acceptance tests you also need Selenium server executable as well. You need Java installed in order to run the Selenium server. You can launch it by running this:
$ java -jar selenium-server-standalone-2.53.1.jarNote: replace 2.53.1 to your version.
Note: Selenium may not support the most recent versions of Firefox.
Execute all test with run command:
$ vendor/bin/codecept run
# OR
$ vendor/bin/codecept run --debug # Detailed outputExecute unit test with run unit command:
$ vendor/bin/codecept run unitMore details about Console Commands see here.
Phosphorum is open-sourced software licensed under the New BSD License. © Phalcon Framework Team and contributors