getting 2 version of php while checking php version in ubuntu 16 - php

Why I am getting 2 different versions of php ?
When I am checking via a php file:
<?php
echo 'Current PHP version: ' . phpversion();
output:
Current PHP version: 7.0.18-1+deb.sury.org~xenial+1
When I am checking via a terminal command:
root#dev-Inspiron-N5110:~# php -v
PHP 7.1.4-1+deb.sury.org~xenial+1 (cli) (built: Apr 11 2017 22:12:32)
( NTS )
Copyright (c) 1997-2017 The PHP Group
Zend Engine v3.1.0, Copyright (c) 1998-2017 Zend Technologies
with Zend OPcache v7.1.4-1+deb.sury.org~xenial+1, Copyright (c) 1999-
2017, by Zend Technologies
php -v giving me PHP 7.1.4-1+deb.sury.org~xenial+1 and phpversion() giving me 7.0.18-1+deb.sury.org~xenial+1.

That is because you have two different versions installed for PHP. The PHP cli is picking up the latest one whereas Apache has been set up with php 7.0.
What you can do is remove both the PHP version from your system and then do a fresh install again:
sudo apt-get install ppa-purge
sudo ppa-purge ppa:ondrej/php-7.0
sudo apt-get purge php7.*
and then install latest PHP 7 from the official Ubuntu Repository like so:
sudo apt-get install php libapache2-mod-php php-mcrypt php-mysql
as you are using Ubuntu 16 the new PHP version will be >=7

Related

Switch to php 8 Wordpress

I have installed php 8.0.15 on my Debian 10 (GCP vm)
php -v
PHP 8.0.15 (cli) (built: Jan 29 2022 07:37:39) ( NTS )
Copyright (c) The PHP Group
Zend Engine v4.0.15, Copyright (c) Zend Technologies
with Zend OPcache v8.0.15, Copyright (c), by Zend Technologies
But my wordpress site still on php 7.4
I used a2dismod, a2enmod, apache2 restart - its doesnt help.
What could be the problem? Thanks
If you are having multiple php versions and want to use different version and output the same in phpinfo() type the following:
To disable the current version for example php8.1:
sudo a2disconf php8.1-fpm
To enable php7.4-fpm:
sudo a2enconf php7.4-fpm
Then restart apache using this command:
sudo systemctl restart apache2
After doing this check using phpinfo() function.
Please check if you have installed php8.1-fpm or php7.4-fpm

Laravel 5.4 with MongoDB MAC Mojave

Hello I having trouble to to install "jenssegers/mongodb": "^3.2" on my local environment.
i have this error:
I have added to my /etc/php.ini full path to extentions="/usr/lib/php/extensions/no-debug-non-zts-20160303/mongodb.so"
restart the php and apache
I have try to find mongodb.ini, fail on that.
I try all the tutorial is google... still no luck
Can any one help me please?
PHP 7.1.23 (cli) (built: Feb 22 2019 22:08:13) ( NTS )
Copyright (c) 1997-2018 The PHP Group
Zend Engine v3.1.0, Copyright (c) 1998-2018 Zend Technologies
It seems that you forgot to install MongoDB PHP Driver itself.
To do that just install it with pecl:
sudo pecl install mongodb-1.5.3
1.5.3 is the last stable version, so I'd recommend to use it rather than the most recent 1.6.0alpha.
Then, don't forget to add it to your php.ini (run php --ini to see where it's located):
extension=mongodb.so
To test that it works just run:
php -m | grep mongo
If you see mongodb in output, then it works.

Upgrade PHP 5.6 to 7.2

I currently have php72 installed on amazon linux one.
[ehost ~]$ php -v
PHP 7.2.11 (cli) ( built: Oct 16 2018 23:50:44) ( NTS )
Copyright (c) 1997-2018 The PHP Group
Zend Engine v3.2.0, Copyright (c) 1998-2018 Zend Technologies
When I attempt to install a custom rpm I get the following.
How do I let the rpm know that PHP 7.2 is already installed?
Error: Package: mct_console-3.40.1-
6624_f7150d48.noarch (/mct_console-
3.40.1-6624_f7150d48.noarch)
Requires: php >= 7.0.2
Available: php-5.3.29-
1.8.amzn1.x86_64 (amzn-main)
Another Error:
Error: Package: mct_console-3.40.1-
6624_f7150d48.noarch (/mct_console-
3.40.1-6624_f7150d48.noarch)
Requires: php-mysql >= 7.0.2
Available: php-mysql-5.3.29-
1.8.amzn1.x86_64 (amzn-main)
The packages php and php72 are two separate packages. You have one called php but it's only 5.3.29. If that's your only dependency that is missing, you can do rpm -i --nodeps to get around it.
However, whatever tool you are trying to install will need to have the PATH fixed in whatever you are currently doing it to change the default php executable to be the 7.2 one.

pthread setup in php 7.0 in Ubuntu 18.04 LTS

I am using php 7.0 in Ubuntu 18.04 LTS.
I have to implement multi-threading in php with help of pthread.
Several method I tried but every time getting
configure: error: pthreads requires ZTS, please re-compile PHP with ZTS enabled
ERROR: `/tmp/pear/temp/pthreads/configure --with-php-config=/usr/bin/php-config' failed
Even I tried to install php from scratch but could not success.
I was follow following website steps :
https://www.rapidspike.com/blog/php7-pthreads/
Please help.
According to your comment:
php -v output is follow : PHP 7.0.31-1+ubuntu18.04.1+deb.sury.org+1
(cli) (built: Jul 25 2018 10:01:10) ( NTS ) Copyright (c) 1997-2017
The PHP Group Zend Engine v3.0.0, Copyright (c) 1998-2017 Zend
Technologies with Zend OPcache v7.0.31-1+ubuntu18.04.1+deb.sury.org+1,
Copyright (c) 1999-2017, by Zend Technologies with Xdebug v2.6.0,
Copyright (c) 2002-2018, by Derick Rethans
You are trying to install a pecl package against the invalid version of PHP which is in your case ( NTS ) instead of ( ZTS ).
To get rid of this you will need one of this possible actions:-
1- Install pecl package for a specific PHP version.
pecl -d php_suffix=X.X-zts install pthreads
2- Update the default version for your environment.
sudo update-alternatives --set php /usr/bin/phpX.X-zts
Note & Warning: this means that all of your php terminal applications will be running under the ZTS version which may cause some unexpected behaviors.
However you can toggle your PHP versions back after installation.
3 - Compile phtread from source and define the target PHP version (complicated but preferred).
$ git clone https://github.com/krakjoe/pthreads.git
$ cd pthreads/
$ phpize
$ ./configure --with-php-config=/path/to/php-zts/bin/php-config
$ make
$ make install
You will may need to update alternatives also for phpize
update-alternatives --set phpize /usr/bin/phpize-zts
Note: All of PHP versions that had been mentioned in this answer may be different from setup to setup, So you may need to check your PHP version name&path using locate bin/php

Cannot to install Composer by command line in Ubuntu 14.04?

I cannot install Composer on Ubuntu 14.04 with:
sudo curl -sS https://getcomposer.org/installer | php
I got error:
#!/usr/bin/env php
Some settings on your machine make Composer unable to work properly.
Make sure that you fix the issues listed below and run this script again:
The json extension is missing.
Install it or recompile php without --disable-json
The openssl extension is missing, which means that secure HTTPS transfers are impossible.
If possible you should enable it or recompile php with --with-openssl
Current PHP version:
PHP 5.5.3 (cli) (built: Feb 9 2015 12:47:41)
Copyright (c) 1997-2013 The PHP Group
Zend Engine v2.5.0, Copyright (c) 1998-2013 Zend Technologies

Categories