How to Install PHP 5.6 (and Xibo Digital Signage CMS) in Ubuntu 16.04

Xibo is an open source digital signage using a client / server architecture, and in the past I wrote a tutorial showing how to use it, and ran Xibo Python client on ARM Linux TV box, but with software handling only so rendering scrolling text was not very smooth at all, and video decoding was not really possible. But now I have Star Cloud PCG02U Intel TV stick which costs just $70 shipped with Ubuntu 14.04, and that I have upgraded to Ubuntu 16.04, and I thought that would be a great low cost Xibo Linux client which should have pretty good performance. I started by installing Xibo server, only to find out that the cross-platform Python client had been phased out, with now only Windows and Android clients available.

So I canceled my plan. I still had some challenges installing Xibo server on Ubuntu 16.04, so I’ll report my experience as it may be useful to others. There will be two sections: 1. Downgrading PHP 7.0 to PHP 5.6 in Ubuntu 16.04 and 2. Installing Xibo CMS in Ubuntu 16.04.

Downgrading PHP 7.0 to PHP 5.6 in Ubuntu 16.04

Ubuntu 16.04 ships with PHP 7.0, and while it provides much better performance over previous version, the massive changes mean that some software packages are not compatible, and that includes Xibo that requires the “mysql” php module, which has been removed from PHP 7.0. So that means I had to install PHP 5.6 instead, which is not officially supported, but can be installed through a ppa.


Remove all php 7.0 packages:


Install php 5.6, apache2 and mysql, and required php modules for Xibo:


Usually, this is enough, but Apache2 will not enable php 5.6 automatically, so you need to run three more commands to enable some modules, and restart apache2:


You should now be able to create phpinfo.php file in /var/www/html, and confirm PHP 5.6 is running.

Installing Xibo 1.7.7 CMS in Ubuntu 16.04

The rest of the installation is actually standard. Download XIBO CMS, extract,. and setup the directory permissions for the CMS and media library.


You’ll also want to modify 2 lines in /etc/php/5.6/fpm/php.ini to allow for longer execution time and larger files:


Now go to your browser to access http://localhost/xibo or http://<IP_address>/xibo to complete the installation.

Xibo_Installation_Ubuntu_16.04
Click to Enlarge

The first step will check all requirements, and if that’s OK, you can click next. if not you are likely missing some PHP modules, but the instructions above should have installed all what’s needed already. The rest of the installation is pretty straightforward, but if you have issues you can check out Xibo CMS instructions.

Xibo_Ubuntu_16.04_Install_SuccessNow you can login to create a layout and schedule to played by one or more Windows or Android clients.

Share this:
FacebookTwitterHacker NewsSlashdotRedditLinkedInPinterestFlipboardMeWeLineEmailShare

Support CNX Software! Donate via cryptocurrencies, become a Patron on Patreon, or purchase goods on Amazon or Aliexpress

ROCK Pi 4C Plus

6 Replies to “How to Install PHP 5.6 (and Xibo Digital Signage CMS) in Ubuntu 16.04”

  1. It requires PHP-MySQL and PDO-MySQL, both of them?
    The later and MySQLi should be replacement for the former.

  2. @Gung Sukma
    Yes both. The only problem I had is that mysql was not detected by the CMS. Is php-mysqli supposed to be 100% compatible with php-mysql, or may it require some code modifications?

    The developers also tried late April with Xibo 1.8 alpha @ https://community.xibo.org.uk/t/xibo-1-8-with-php-7-0-5/5756:

    I’ve done some testing today with PHP7 and 1.8.0-a3

    One of the libraries we’re using has some incompatibilities so as it stands today it’s not working I’m afraid. You’ll need to use PHP 5.6 until that’s resolved.

  3. Any thoughts on how Xibo compares to other solutions in this space? SignageStudio, OpenSplash, Concertov2, Vodigi, RiseVision, etc?

  4. @cnxsoft
    MySQLi has different functions, and different function arguments order.

    The right way, it needs code modification.
    But many times simply using new functions to create the missing functions just solve.

Leave a Reply

Your email address will not be published. Required fields are marked *

Khadas VIM4 SBC
Khadas VIM4 SBC