• If you are still using CentOS 7.9, it's time to convert to Alma 8 with the free centos2alma tool by Plesk or Plesk Migrator. Please let us know your experiences or concerns in this thread:
    CentOS2Alma discussion
  • Please beaware of a breaking change in the REST API on the next Plesk release (18.0.62).
    Starting from Plesk Obsidian 18.0.62, requests to REST API containing the Content-Type header with a media-type directive other than “application/json” will result in the HTTP “415 Unsupported Media Type” client error response code. Read more here

Contribution [How-To] Compile PHP Phalcon for PHP 5.4 5.5 5.6 7.0

StéphanS

Regular Pleskian
NOTE: PHP 5.4 is no longer supported

For more info, please refer to:

https://devblog.plesk.com/2015/08/adding-custom-php-modules-in-plesk/


First install some basic dependencies:
Code:
yum install git make gcc glibc-devel zlib-devel

Then create the actual function to build and install PHP Phalcon
Code:
function plesk_php_install_phalcon {
cd
PHP_VERSION="$1"
echo "Building Phalcon for PHP Version: $PHP_VERSION..."
yum -y install plesk-php$(tr -d . <<<$PHP_VERSION)-devel
rm -rfv /opt/plesk/php/$PHP_VERSION/include/php/ext/cphalcon/
rm -fv /opt/plesk/php/$PHP_VERSION/lib64/php/modules/phalcon.so
rm -fv /opt/plesk/php/$PHP_VERSION/etc/php.d/phalcon.ini
cd /opt/plesk/php/$PHP_VERSION/include/php/ext/
git clone --depth=1 git://github.com/phalcon/cphalcon.git
cd /opt/plesk/php/$PHP_VERSION/include/php/ext/cphalcon/build/
sed -i 's#./configure#./configure CFLAGS="-O2"#g' install
PATH=/opt/plesk/php/$PHP_VERSION/bin:$PATH ./install
ls -la /opt/plesk/php/$PHP_VERSION/lib64/php/modules/phalcon.so
echo 'extension=phalcon.so' > /opt/plesk/php/$PHP_VERSION/etc/php.d/phalcon.ini
/opt/plesk/php/$PHP_VERSION/bin/php -v
/opt/plesk/php/$PHP_VERSION/bin/php -i | grep -i phalcon
}

To install run:
Code:
plesk_php_install_phalcon 5.6

Or install for all compatible versions:
Code:
for PHP_VERSION in 5.{5..6}
do
plesk_php_install_phalcon $PHP_VERSION
done

Whenever Phalcon becomes compatible with PHP 7
You can use:
Code:
for PHP_VERSION in {5.{5..6},7.0}
do
plesk_php_install_phalcon $PHP_VERSION
done


Now all that is left is to have Plesk find PHP Phalcon Extension(s):
Code:
plesk bin php_handler --reread



From devblog article (but I didn't need to do this step):

As a final touch, to have the extension appear on the customers’ phpinfo pages, clear the checkbox, click OK, and wait for the changes to be applied, then select the checkbox and apply the changes once again.




EDIT: If you really need PHP Phalcon on PHP 5.4, use:

Code:
cd
PHP_VERSION="5.4"
rm -rfv /opt/plesk/php/$PHP_VERSION/include/php/ext/cphalcon/
cd /opt/plesk/php/$PHP_VERSION/include/php/ext/
git clone -b 2.0.x --depth=1 git://github.com/phalcon/cphalcon.git
cd /opt/plesk/php/$PHP_VERSION/include/php/ext/cphalcon/build/
sed -i 's#./configure#./configure CFLAGS="-O2"#g' install
PATH=/opt/plesk/php/$PHP_VERSION/bin:$PATH ./install
ls -la /opt/plesk/php/$PHP_VERSION/lib64/php/modules/phalcon.so
echo 'extension=phalcon.so' > /opt/plesk/php/$PHP_VERSION/etc/php.d/phalcon.ini
/opt/plesk/php/$PHP_VERSION/bin/php -v
/opt/plesk/php/$PHP_VERSION/bin/php -i | grep -i phalcon
 
Last edited:
Back
Top