Search code examples
phpmysqliphpmyadminlamp

Trying to get a LAMP configuration with PHP7 on a Jessie server


I'm trying to configure my new server with a Jessie installation able to run a full LAMP environment, with phpmyadmin.

Apache, MySQL, PHP
I installed apache2 and mysql with apt-get.

sudo apt-get install apache2 mysql

Then I installed PHP7 as instructed here : https://www.dotdeb.org/2016/01/08/php-7-0-2-for-jessie/

sudo nano /etc/apt/sources.list

deb http://packages.dotdeb.org jessie all
deb-src http://packages.dotdeb.org jessie all

wget https://www.dotdeb.org/dotdeb.gpg
sudo apt-key add dotdeb.gpg
sudo apt-get update
sudo apt-get install php7.0 php-mysql

Which installed, among other things, php7 packages for mysql : php7.0-mysql php-mysql

PhpMyAdmin
Now I have trouble with phpmyadmin.
As found here, I cloned the phpmyadmin git :

cd /var/www/phpmyadmin
git clone --depth=1 --branch=STABLE https://github.com/phpmyadmin/phpmyadmin.git
mkdir logs

Then I made a vhost for it.

nano /etc/apache2/phpmyadmin.conf

<VirtualHost *:80>
     ServerAdmin myemail@domain.com
     ServerName phpmyadmin.url
     DocumentRoot /var/www/phpmyadmin/
     ErrorLog /var/www/phpmyadmin/logs/error.log
     CustomLog /var/www/phpmyadmin/logs/access.log combined
</VirtualHost>

--end of "all is going well" part--

The problem
Trying to reach phpmyadmin ends with the message :

The mysqli extension is missing. Please check your PHP configuration. See our documentation for more information.

I found in the php.ini (located /etc/php/7.0/apache2) the line for Windows extension "extension=php_mysqli.dll" commented, but obviously, uncommenting it didn't change anything.

I'm stuck here, I can't find information about installing mysqli with php7.
Is it impossible at the moment ?
Is there a way to tell phpmyadmin to use another way (if there is any) ?

I remember I had to install a lot of packages when runnning php5 environment, and I was surprised it was alot easier with php7. I guess lot of packages are missing now.
Any recommendation / suggestion is welcome.

(I'll complete the "all is going well" part with more instructions as I find them)

Thank you for your help !


Solution

  • Mysqli was correctly installed (visible in the phpinfo() data). The problem was from PhpMyAdmin. I tried to setup PMA like this :

    cd /var/www/phpmyadmin
    sudo mkdir config
    sudo cp config.sample.inc.php config/config.inc.php
    sudo chown -R www-data:www-data config/
    chmod -R 655 config/
    

    It's maybe not optimized but I'm just pasting my bash history, I was in the state "I'm not sure what I'm doing, let's try this".

    Then I launched PMA with the setup suffix : pmaurl.ext/setup
    I don't think I modified anything, but right after I forgot to check if PMA worked. Today it does, and asked me to remove the config directory.

    Yay ! Problem solved !