summaryrefslogtreecommitdiff
path: root/PhpCompatibilityNotes.md
blob: f7dd24a28affc4bf1d1759278c0fc3db4c6adf62 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
% PHP requirements

You will need PHP **5.6** (or newer, PHP 7 is fine) compiled with the following modules (those
are actually very common and should be available in any reasonable Linux distro):

-   PDO with support for PostgreSQL or MySQL depending on the database server used - some distributions need both PDO and database-specific packages, i.e. ```php-pdo``` and ```php-pgsql```
-   JSON
-   XML (DOMDocument, DOMXpath)
-   Internationalization (intl)
-   mbstring
-   fileinfo

You will also need PHP command line binary (needed to run update daemon and other CLI tools).

### Also recommended

-   CURL (highly recommended, just install it) **OR** support for remote fopen()
-   POSIX functions (for the multiprocess update daemon, otherwise not needed)
-   GD (needed for OTP and some plugins)
-   Some kind of opcode cache/accelerator (depends on PHP version: php5-apc, php7-opcache, etc)

### Notes

* If your PHP install is missing any of the required modules tt-rss should notify you on startup.
* Plugins may have additional dependencies i.e. several bundled plugins require CURL.
* **PHP safe mode is not supported.**

### Debian 9 example

```
$ sudo apt install php7.0-cli php7.0-curl php7.0-mbstring \
    php7.0-json php7.0-intl php7.0-gd php7.0-pgsql php7.0-xml php7.0-opcache
```

If you're starting from scratch you will also likely need several other packages, including httpd (e.g. nginx) and FPM.

Note: Don't forget to enable opcache in php.ini if it's not enabled by default.