PHP mysql-7.2 cannot install on Ubuntu - php

Im trying to switch my server to PHP 7.2.
Ive got it working on Apache2, and its running fine.
The only issue is the MYSQL extension is not working.
I've commented these lines in php.ini
extension=mysqli
extension=pdo_mysql
But it appears that I dont even have the mysqli extension in the first place.
I try installing it like so
sudo apt-get install php7.2-mysql
But I just get this error
E: Unable to locate package php7.2-mysql
E: Couldn't find any package by regex 'php7.2-mysql'
Ive tried running
sudo apt-get update
Along with following the instructions here and installing some python packages
https://askubuntu.com/questions/1184367/how-to-install-php7-2-in-ubuntu-19-10
But nothing seems to work.
How do I get PHP7.2 working with MYSQL???

php7.2-mysql exists in ubuntu-18.04/bionic only.
php-mysql maps to different versions, so maybe if your using later ubuntu version a >7.2 version will be retruned.

Related

Installing Mongodb PHP Drivers on Ubuntu 18.04

I have installed mongodb on a new Ubuntu 18.04 server. I can access and work with the database through the command line, but cannot access it via PHP, and was wondering how other people have gotten it to work.
Following a new build of Ubuntu 18.04, and installation of LAMP, I ran:
sudo apt install mongodb-server php-pear php7.2-dev
sudo pecl install mongodb
I then added the mongodb.so extension to the php.ini file, and a phpinfo(); page shows mongodb as installed. So far so good.
If I browse to a test php page ($mongo=new Mongo();), the page fails to load though.
Through web searches, I find the https://github.com/alcaeus/mongo-php-adapter page come up a lot, and I have run the composer installation command there, but to no avail.
Installed versions are: Ubuntu 18.04.2 LTS; mongoDBv3.6.3; php 7.2.17; Apache 2.4.29
I was wondering what steps other people who have gotten PHP to work successfully with Mongodb have followed? I plan to scrap this server and start from a fresh VM install again.
I was able to install php-mongodb after adding the ppa repository ondrej/php:
sudo add-apt-repository ppa:ondrej/php
sudo apt update
sudo apt-get install php-mongodb
try:
sudo apt-get install php-mongodb
worked for me
It appears that you're attempting to use the Mongo class from the legacy driver, but you're using the non-legacy driver so that class doesn't exist. Please look at the documentation for the updated version of the driver here. You might also consider using the MongoDB PHP Library to abstract away many of the driver calls.
Please note that there are also compatibility considerations between your versions of the PHP library, MongoDB, and the MongoDB PHP driver. You can find the compatibility information for them here.

PHP: Cleanly upgrading/replacing PHP from unavailable repository on Ubuntu 12.04

I am running an Ubuntu 12.04 Apache2/PHP/MYSQL server that was using a deprecated version of PHP. I realized this once I tried to install the sqlite3 extension I get an error:
Failed to fetch http://ppa.launchpad.net/ondrej/php5-5.6/ubuntu/dists/precise/main/source/Sources
Research shows me that this is no longer used and instead use ondrej/php instead. This is a production server and I need to figure out steps to replace the PPA with the correct one.
Will I need to uninstall PHP and reinstall using the new packages? If so how should I go about doing this cleanly?
Is there a way to temporarily install sqlite3 without having to change repositories completely (I do not have php-dev installed at the moment either).
First you should check if there are any compatibility issues with the version you want to upgrade to (did a quick google to find this: https://github.com/squizlabs/PHP_CodeSniffer). Then, add the repository that contains the version you want, sudo apt-get update and install the version of php you want. To switch the version apache uses, do the following:
sudo a2dismod php5
sudo a2enmod php5.6
sudo service apache2 restart

Ensure that PHP is compiled with php_mbstring.dll enabled

I'm currently experiencing error on my application using php. here is the error message
Error - mPDF requires mb_string functions. Ensure that PHP is compiled with php_mbstring.dll enabled.
I'm using third party library to generate pdf file (MPDF). It works fine on my loaclhost (windows) but when we deploy it on the linux server, it throws the above error.
Can anyone help me on what's going on and how could I fix it. It seems that the php_mbstring.dll is missing on our linux server configuration.
if (!function_exists("mb_check_encoding")) {
die('mbstring extension is not enabled');
}
And if you get that error, then rebuild PHP from source with mbstring enabled, or apt-get to include it in the build
I was having the same problem on CentOS Linux. "yum install php-mbstring.x86_64" fixed it for me
On Debian or Ubuntu, the mbstring package is not pulled in by default when you install php. You can fix this mPDF error with:
apt install php-mbstring
Edit php.ini and extension=php_mbstring.dll remove the ;after which run the following commands
For php7.0
sudo apt-get install php7.0-mbstring
For php5.6
sudo apt-get install php5.6-mbstring
worked for me :)
Find your php.ini, uncomment the line with the extension, and restart the server

Can't get mongo.so extension to load after updating PHP to 5.3

I had PHP 5.2 with MongoDB installed on Debian Lenny x64 and everything was fine.
After updating PHP to 5.3 (dotdeb) I can't get MongoDB to work, I always get an error
Fatal error: Class 'Mongo' not found (...)
Everything else works fine, all default modules are working.
My php.ini:
extension_dir = "/usr/lib/php5/20090626"
extension=mongo.so
Mongo.so is in same location as written above.
But when I run php -m in console to check loaded modules, "mongo" isn't listed there.
I can't use dl('mongo.so') to load module at runtime, because this function was deprecated in PHP 5.3.
May be I should recompile mongo somehow, I just don't know how to do that because I'm not very good in *nix commands.
Thanks for your help!
UPDATE
Also may be it's worth saying that before my mongo.so was in /usr/lib/php5/20060613 and I manually copied it to "/usr/lib/php5/20090626" because it seems that after updating my PHP all modules are located there.
The extension module api has changed between php5.2 and php5.3. When php tries to load an extension module both sides have to "present" an api magic key that identifies the api version. If those numbers don't match the module is not loaded/activated.
Try sudo pecl install mongo again to get an extension module that fits your new php version.
Try re installing mongo & restart service
sudo pecl uninstall mongo
sudo pecl install mongo
sudo service apache2 restart
This will install mongo in to newer version
I spent a little time trying to fix this, I am guessing you had a previous mongo install. The way I fixed it was by:
I installed php5-dev:
sudo apt-get install php5-dev
cd /etc/php5/apache2/conf.d/
sudo rm -rf mongo.ini
I then viewed my php.ini and removed extension=mongo.so
Then:
sudo pecl uninstall mongo
sudo pecl install mongo
sudo service apache2 restart

how to install Moodle with Postgre

i am installing Moodle 2.1 with postgre database. the problem i am facing is that it gives me error
PHP has not been properly configured with the PGSQL extension so that
it can communicate with PostgreSQL. Please check your php.ini file or
recompile PHP.
i have adjusted all the required extension for pgsql. but still i get the same error. i have even created a database in postgre (an empty database) but still i didnt work.
please help me
thanks
Have you tried (command line):
apt-get install php5-pgsql
apache2ctl restart
Or:
sudo apt-get install php5-pgsql
sudo apache2ctl restart
I had a lot of trouble, because the version of Moodle I have (3.3) wants a newer version of php than I have on my Ubuntu 14.04. I had 5.5.9 and Moodle insisted on 5.6. So I upgraded php5 to php5.6 with a special ppa. But what happened was it put the new php5.6 next to the old one. So I kept having trouble with Apache, until I set soft links to libphp5.so from my new libphp5.6.so, and set the conf and load files in mods-available to the new php5.6 versions.
Then I had a problem with the postgresql php driver. I tried installing php5-pgsql and it was always linking back to the old php 5.5.9 on Ubuntu! This did not make moodle happy. Then I discovered that there is a php5.6-pgsql. I uninstalled my php5-pgsql and installed php5.6-pgsql. Uff. And added these two lines to php.ini (inside the /etc/php5/apache2 directory):
extension=/usr/lib/php/20131226/pdo_pgsql.so
extension=/usr/lib/php/20131226/pgsql.so
Now moodle can move on to the next error (the php xml extension)!
sudo apt-get install php5-pgsql fixed it for me despite the fact that my vhost on Plesk runs PHP7.0. Now I can use the CLI in Moodle with PostgreSQL.

Categories