phpMyFAQ

phpMyFAQ是一款适用于移动设备,功能丰富,可扩展的开源常见问题解答软件,使用PHP 5.5+、PHP 7.x或HHVM。 (phpMyFAQ is a mobile-friendly, feature-rich, scalable open source FAQ software using PHP 5.5+, PHP 7.x or HHVM.)

Github stars Tracking Chart

phpMyFAQ是一款适用于移动设备,功能丰富,可扩展的开源常见问题解答软件,使用PHP 5.5+、PHP 7.x或HHVM。

核心功能:
  • 支持PHP 5.5+,PHP 7.x和HHVM
  • 支持MySQL,PostgreSQL,MS SQL Server,SQLite3和Elasticsearch
  • 无限常见问题、类别、用户和组
  • 手机第一,基于Bootstrap的触摸友好的HTML5/CSS3布局
  • 基于TinyMCE的综合WYSIWYG编辑器
  • 包括40多种语言 阿拉伯语,波斯语和希伯来语的RTL布局
  • 简单的安装和配置
  • 兼容所有现代浏览器

Overview

Name With Ownerthorsten/phpMyFAQ
Primary LanguagePHP
Program languageJavaScript (Language Count: 7)
PlatformBSD, Linux, Mac, Solaris, Unix-like, Windows
License:Mozilla Public License 2.0
Release Count493
Last Release Namedevelopment-nightly-2024-05-19 (Posted on )
First Release Name2.5.2 (Posted on )
Created At2009-08-04 19:26:15
Pushed At2024-05-19 02:13:05
Last Commit At
Stargazers Count582
Watchers Count36
Fork Count251
Commits Count12.4k
Has Issues Enabled
Issues Count1807
Issue Open Count18
Pull Requests Count1007
Pull Requests Open Count0
Pull Requests Close Count133
Has Wiki Enabled
Is Archived
Is Fork
Is Locked
Is Mirror
Is Private

phpMyFAQ 3.0

Travis branch
Minimum PHP Version
Slack
Greenkeeper badge

What is phpMyFAQ?

phpMyFAQ is a multilingual, completely database-driven FAQ-system. It supports various databases to store all data, PHP
7.2+ is needed in order to access this data. phpMyFAQ also offers a multi-language Content Management System with a
WYSIWYG editor and an Image Manager, real time search support with Elasticsearch, flexible multi-user support with user
and group based permissions on categories and records, a wiki-like revision feature, a news system, user-tracking, 40+
supported languages, enhanced automatic content negotiation, HTML5/CSS3 based responsive templates, PDF-support, a
backup and restore system, a dynamic sitemap, related FAQs, tagging, enhanced SEO features, built-in spam protection
systems, OpenLDAP and Microsoft Active Directory support, and an easy to use installation and update script.

Requirements

phpMyFAQ is only supported on PHP 7.2 and up, you need a database as well. Supported databases are MySQL, MariaDB,
Percona Server, PostgreSQL, Microsoft SQL Server and SQLite3. If you want to use Elasticsearch as main search
engine, you need Elasticsearch 5.x or later as well. Check our detailed requirements on
phpmyfaq.de for more information.

Installation

phpMyFAQ installation package for end-users

The best way to install phpMyFAQ is to download it on phpmyfaq.de, unzip the package
and open http://www.example.org/phpmyfaq/setup/index.php in your preferred browser.

phpMyFAQ installation with Docker

Dockerfile

The Dockerfile provided in this repo only build an environment to run any release it's for development purpose. It does
not contain any code as the phpmyfaq folder is meant to be mount as the /var/www/html folder in the container.

To build a production release please use the docker-hub repository or use
images provided on docker.io.

docker-compose.yml

For development purposes you can start a full stack to run your current PhpMyFAQ source code from your local repo.

$ docker-compose up

The command above starts 5 containers as following.

Specific images started once to prepare the project:

  • composer: update composer dependencies
  • yarn: update yarn dependencies

Running using named volumes:

  • mariadb: image with xtrabackup support
  • elasticsearch: Open Source Software image (it means it does not have XPack installed)
  • phpmyadmin: a PHP tool to have a look on your database.

Running apache web server with PHP 7.3 support:

  • phpmyfaq: mounts the phpmyfaq folder in place of /var/www/html.

Then services will be available at following addresses:

  • phpMyFAQ: (http://localhost:8080)
  • phpMyAdmin: (http://localhost:8000)

Running tests

To run the test using Docker you have to install the Composer development dependencies

$ curl -s https://getcomposer.org/installer, php
$ php composer.phar install

Quote from ElasticSearch documentation

The vm.max_map_count kernel setting needs to be set to at least 262144 for production use. Depending on your platform:

Linux

The vm.max*map_count setting should be set permanently in */etc/sysctl.conf_:

$ grep vm.max_map_count /etc/sysctl.conf
vm.max_map_count=262144

To apply the setting on a live system type: sysctl -w vm.max_map_count=262144

macOS with Docker for Mac

The vm.max_map_count setting must be set within the xhyve virtual machine:

$ screen ~/Library/Containers/com.docker.docker/Data/com.docker.driver.amd64-linux/tty

Log in with root and no password. Then configure the sysctl setting as you would for Linux:

$ sysctl -w vm.max_map_count=262144
Windows and macOS with Docker Toolbox

The vm.max_map_count setting must be set via docker-machine:

$ docker-machine ssh
$ sudo sysctl -w vm.max_map_count=262144

phpMyFAQ installation from Github

$ git clone git://github.com/thorsten/phpMyFAQ.git
$ cd phpMyFAQ
$ git checkout 3.0
$ curl -s https://getcomposer.org/installer, php
$ php composer.phar install
$ curl -o- -L https://yarnpkg.com/install.sh, bash
$ yarn install
$ yarn build

Then just open http://www.example.org/phpmyfaq/setup/index.php in your browser.

Testing

To run our unit tests via PHPUnit v8.x, just execute this command on your CLI

$ curl -s https://getcomposer.org/installer, php
$ php composer.phar install
$ ./vendor/bin/phpunit

Please note that phpMyFAQ needs to be installed via Composer.

Versioning

For transparency and insight into our release cycle, and for striving to maintain backward compatibility, phpMyFAQ will
be maintained under the Semantic Versioning guidelines as much as possible.

Releases will be numbered with the following format:

<major>.<minor>.<patch>

And constructed with the following guidelines:

  • Breaking backward compatibility bumps the major (and resets the minor and patch)
  • New additions without breaking backward compatibility bumps the minor (and resets the patch)
  • Bug fixes and misc changes bumps the patch

For more information on SemVer, please visit http://semver.org/.

Bug tracker

Have a bug or a feature request? Please open a new issue.
Before opening any issue, please search for existing issues.

Contributing

Please check out our page about contributing on phpmyfaq.de.

Documentation

You can find the full documentation on phpmyfaq.de.

REST API v2

The REST API v2 documentation is located here in this repository and also on
phpmyfaq.de.

License

Mozilla Public License 2.0, see LICENSE for more information.

Copyright (c) 2001-2020 Thorsten Rinne and the phpMyFAQ Team

To the top