summaryrefslogtreecommitdiff
path: root/PhpCompatibilityNotes.md
blob: 265a54d6c78bf2f3c77df72626b0cba98062a777 (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
38
39
40
41
% PHP requirements

- ***Host installations are not supported starting 2021. Consider using [Docker](InstallationNotes) when planning new tt-rss installations.***
- *The following applies to host installations only, updates are handled out of the box if using recommended [dockerized setup](https://git.tt-rss.org/fox/ttrss-docker-compose). The following list may be outdated.*
- *This document is considered deprecated.*

-------

You will need PHP 7.1 (or newer) with the following modules enabled:

-   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 a PHP command line interpreter (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 by 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.

### 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.