0

I installed PHP 5.6 from source on Debian server 9 server. The OpenSSL version in Debian 9 is too new for PHP 5.6, so I had to compile an older version in /opt/openssl to use it with PHP 5.6. ( version openssl-1.0.1t )

I configured the compilation of PHP5.6 like this :

./configure --prefix=/opt/PHP/php-5.6 --with-pdo-pgsql --with-zlib-dir --with-freetype-dir --enable-mbstring --with-libxml-dir=/usr --enable-soap --enable-calendar --with-curl --with-mcrypt --with-zlib --with-pgsql --disable-rpath --enable-inline-optimization --with-bz2 --with-zlib --enable-sockets --enable-sysvsem --enable-sysvshm --enable-pcntl --enable-mbregex --enable-exif --enable-bcmath --with-mhash --enable-zip --with-pcre-regex --with-pdo-mysql --with-mysqli --with-mysql-sock=/var/run/mysqld/mysqld.sock --with-jpeg-dir=/usr --with-png-dir=/usr --enable-gd-native-ttf --with-openssl=/opt/openssl --with-fpm-user=www-data --with-fpm-group=www-data --with-libdir=/lib/x86_64-linux-gnu --enable-ftp --with-kerberos --with-gettext --with-xmlrpc --with-xsl --enable-opcache --enable-fpm

I've got PHP5.6 working after the command make and make install

I writed this PHP script for testing the connection ( I hided the good value as well ) :

    <?php
$servername = "localhost";
$username = "username";
$password = "password";

try {
    $conn = new PDO("mysql:host=$servername;dbname=myDB", $username, $password);
    // set the PDO error mode to exception
    $conn->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
    echo "Connected successfully"; 
    }
catch(PDOException $e)
    {
    echo "Connection failed: " . $e->getMessage();
    }
?>

I tried it like this and I got :

 /opt//PHP/php-5.6/bin/php connect_db.php
Connection failed: SQLSTATE[HY000] [2002] No such file or directory

On the same server, I compiled PHP7.1 from source with this configuration of compilation :

./configure --prefix=/opt/PHP/php-7.1 --with-pdo-pgsql --with-zlib-dir --with-freetype-dir --enable-mbstring --with-libxml-dir=/usr --enable-soap --enable-calendar --with-curl --with-zlib --with-gd --with-pgsql --disable-rpath --enable-inline-optimization --with-bz2 --with-zlib --enable-sockets --enable-sysvsem --enable-sysvshm --enable-pcntl --enable-mbregex --enable-exif --enable-bcmath --with-mhash --enable-zip --with-pcre-regex --with-pdo-mysql --with-mysqli --with-mysql-sock=/var/run/mysqld/mysqld.sock --with-jpeg-dir=/usr --with-png-dir=/usr --with-openssl --with-fpm-user=www-data --with-fpm-group=www-data --with-libdir=/lib/x86_64-linux-gnu --enable-ftp --with-imap --with-imap-ssl --with-kerberos --with-gettext --with-xmlrpc --with-xsl --enable-opcache --enable-fpm

I tried the same PHP script and it passed well :

/opt//PHP/php-7.1/bin/php connect_db.php
Connected successfully

How to configure the compilation of PHP5.6 for get the same with PHP7.1 component ?

1 Answer 1

0

I found if I replace the line of the script :

$servername = "localhost";

by this one

$servername = "127.0.0.1";

The script connects to the DB with PHP5.6 and PHP7.1

 /opt/PHP/php-5.6/bin/php connect_db.php
Connected successfully

Feel free to put any comments for acknowledge where the issue could come from

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .