We are moving our forum in GitHub Discussions. For questions about Phalcon v3/v4 you can visit here and for Phalcon v5 here.

Can't install phalcon on Debian with Plesk

I have a Debian 8.9 server setup with the latest stable Plesk and PHP 7.1.

Both # apt-get install php7.1-phalcon and # PATH=/opt/plesk/php/7.1/bin:$PATH apt-get install php7.1-phalcon return:

[email protected]:~# PATH=$PATH:/opt/plesk/php/7.1/bin apt-get install php7.1-phalcon
Reading package lists... Done
Building dependency tree       
Reading state information... Done
Some packages could not be installed. This may mean that you have
requested an impossible situation or if you are using the unstable
distribution that some required packages have not yet been created
or been moved out of Incoming.
The following information may help to resolve the situation:

The following packages have unmet dependencies:
 php7.1-phalcon : Depends: phpapi-20160303 but it is not installable
E: Unable to correct problems, you have held broken packages.

This is the PHP version:

[email protected]:~# PATH=/opt/plesk/php/7.1/bin:$PATH php -v
PHP 7.1.11 (cli) (built: Oct 27 2017 13:23:24) ( NTS )
Copyright (c) 1997-2017 The PHP Group
Zend Engine v3.1.0, Copyright (c) 1998-2017 Zend Technologies
    with Zend OPcache v7.1.11, Copyright (c) 1999-2017, by Zend Technologies

And Plesk's plesk-php71-dev package is installed.

Compiling Phalcon as usual works fine but I want it as a package. Can't find much information on this error. Anyone?

edited Nov '17

Looks like PLESK has own version of PHP 7.1 binary and it's not compatible with Phalcon binary. Im afraid there is no easy fix for that.

edited Nov '17

You're missing PHP API (DEV).


Not available for Debian Jessie though. So you must figure out how they installed PHP 7.1 on Debian 8.x (Jessie) which by default ships with PHP 5.6, i.e. they must have used third-party repository or compiled it on their own etc.

For Stretch, which ships with PHP 7.0 this is what you need to compile Phalcon: https://packages.debian.org/stretch/php7.0-dev

But again, you are using version 7.1, probably Plesk have it's own repositories for that.

Using EOL distro (Jessie) with latest PHP - while not having full ownership over it - is what we see as a result here.

Ah I see... Plesk for Debian 7 has the package plesk-phpapi-20160303 but when using Debian 8 it's not there. I'll contact support and if I have a solution I'll post it here.