Skip to content

Instantly share code, notes, and snippets.

@stayallive
Last active September 20, 2022 17:24
Show Gist options
  • Save stayallive/92e841e7dd89c8509c15 to your computer and use it in GitHub Desktop.
Save stayallive/92e841e7dd89c8509c15 to your computer and use it in GitHub Desktop.
Install PHP 5.5.23 on Plesk 11.5 and 12 (CentOS 6)
#!/bin/bash
# Make sure you are up to date
yum -y update && yum -y install wget
# Install EPEL repository
rpm -ivh http://dl.fedoraproject.org/pub/epel/6/x86_64/epel-release-6-8.noarch.rpm
# Get us a clean working directory
mkdir /php
cd /php
# Install PHP dependencies
yum -y install gcc make gcc-c++ cpp kernel-headers.x86_64 libxml2-devel openssl-devel \
bzip2-devel libjpeg-devel libpng-devel freetype-devel openldap-devel postgresql-devel \
aspell-devel net-snmp-devel libxslt-devel libc-client-devel libicu-devel gmp-devel curl-devel \
libmcrypt-devel unixODBC-devel pcre-devel sqlite-devel db4-devel enchant-devel libXpm-devel \
mysql-devel readline-devel libedit-devel recode-devel libtidy-devel libtool-ltdl-devel
# Download PHP
wget http://nl1.php.net/get/php-5.5.23.tar.gz/from/this/mirror -O /php/php-5.5.23.tar.gz
# Extract PHP
tar xzvf /php/php-5.5.23.tar.gz
# Move to unpacked folder
cd /php/php-5.5.23
# Configure PHP build script
./configure \
--with-libdir=lib64 \
--cache-file=./config.cache \
--prefix=/php/php-5.5.23 \
--with-config-file-path=/php/php-5.5.23/etc \
--disable-debug \
--with-pic \
--disable-rpath \
--with-bz2 \
--with-curl \
--with-freetype-dir=/php/php-5.5.23 \
--with-png-dir=/php/php-5.5.23 \
--enable-gd-native-ttf \
--without-gdbm \
--with-gettext \
--with-gmp \
--with-iconv \
--with-jpeg-dir=/php/php-5.5.23 \
--with-openssl \
--with-pspell \
--with-pcre-regex \
--with-zlib \
--enable-exif \
--enable-ftp \
--enable-sockets \
--enable-sysvsem \
--enable-sysvshm \
--enable-sysvmsg \
--enable-wddx \
--with-kerberos \
--with-unixODBC=/usr \
--enable-shmop \
--enable-calendar \
--with-libxml-dir=/php/php-5.5.23 \
--enable-pcntl \
--with-imap \
--with-imap-ssl \
--enable-mbstring \
--enable-mbregex \
--with-gd \
--enable-bcmath \
--with-xmlrpc \
--with-ldap \
--with-ldap-sasl \
--with-mysql=/usr \
--with-mysqli \
--with-snmp \
--enable-soap \
--with-xsl \
--enable-xmlreader \
--enable-xmlwriter \
--enable-pdo \
--with-pdo-mysql \
--with-pear=/php/php-5.5.23/pear \
--with-mcrypt \
--without-pdo-sqlite \
--with-config-file-scan-dir=/php/php-5.5.23/php.d \
--without-sqlite3 \
--enable-intl \
--enable-opcache
# Build & Install
make && make install
# Create a default php.ini
mkdir /php/php-5.5.23/etc
cp -a /etc/php.ini /php/php-5.5.23/etc/php.ini
# Set the timezone
timezone=$(grep -oP '(?<=")\w+/\w+' /etc/sysconfig/clock)
sed -i "s#;date.timezone =#date.timezone = $timezone#" /php/php-5.5.23/etc/php.ini
# Register with Plesk
/usr/local/psa/bin/php_handler \
--add \
-displayname "5.5.23" \
-path /php/php-5.5.23/bin/php-cgi \
-phpini /php/php-5.5.23/etc/php.ini \
-type fastcgi \
-id "fastcgi-5.5.23"
@lebnene
Copy link

lebnene commented Feb 28, 2015

I am getting the following error, any hints? Thanks.

[2015-02-28 03:10:32] ERR [util_exec] proc_close() failed
Unable to register the PHP handler: Binary /php/php-5.5.20/bin/php-cgi doesn't exists

@bartdenhoed
Copy link

No errors but it still has php 5.4 en not 5.5....... Why?

@rubenve
Copy link

rubenve commented May 29, 2015

@bartproductions
You still have to enable it for a website. You can do this in Websites > Hosting Settings for a specific website.
This procedure just compiles and installs the custom handler.

@filpgame
Copy link

filpgame commented Jul 3, 2015

and how to register for Apache module?

@frenci8
Copy link

frenci8 commented Aug 3, 2015

Hero! Worked perfectly

@leechilli
Copy link

Thanks for this, I've installed this but can't seem to enable opcache.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment