• Introducing WebPros Cloud - a fully managed infrastructure platform purpose-built to simplify the deployment of WebPros products !  WebPros Cloud enables you to easily deliver WebPros solutions — without the complexity of managing the infrastructure.
    Join the pilot program today!
  • Support for BIND DNS has been removed from Plesk for Windows due to security and maintenance risks.
    If a Plesk for Windows server is still using BIND, the upgrade to Plesk Obsidian 18.0.70 will be unavailable until the administrator switches the DNS server to Microsoft DNS.

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