stefankittel
Goto Top

PHP-Version mit Bash in Variable schreiben?

Hallo,

hat Jemand ein fertiges Skript um die aktuelle PHP-Version in eine Variable in Bash zu schreiben?

Die Ausgaben sind:
PHP Warning: Module 'xyz' already loaded in Unknown on line 0
PHP 5.5.9-1ubuntu4.20 (cli) (built:

oder
PHP 7.0.13-0ubuntu0.16.04.1 (cli) ( NTS )
Copyright (c) 1997-20

Mir reicht das 5.5 oder 7.0

Danke

Stefan

Content-Key: 328451

Url: https://administrator.de/contentid/328451

Printed on: April 19, 2024 at 03:04 o'clock

Member: BassFishFox
Solution BassFishFox Feb 05, 2017 at 00:08:02 (UTC)
Goto Top
Hallo,

Reicht das?

php -r \@phpinfo\(\)\; | grep 'PHP Version' -m 1  

https://webigniter.wordpress.com/2011/08/10/how-to-check-your-php-versio ...

BFF
Member: colinardo
Solution colinardo Feb 05, 2017 updated at 10:12:45 (UTC)
Goto Top
Servus Stefan,
php -v | grep -Po 'PHP \d+\.\d+' | cut -d ' ' -f2
oder auch
php -v | sed -rne '1 s/PHP ([0-9]+\.[0-9]+).*/\1/p'
usw.

Grüße Uwe
Member: StefanKittel
StefanKittel Feb 05, 2017 at 11:30:05 (UTC)
Goto Top
Hallo,

das sieht doch schonmal prima aus.

Kann sich bitte Jemand erbarmen der mit mit grep den String kürzt?
Abschneiden ab dem 2. Punkt.

PHP Version => 5.5.9-1ubuntu4.20
5.5

PHP Version => 7.0.13-0ubuntu0.16.04.1
7.0

Das wäre total tuffig und toll.
Danke

PS: die PHP Warning muss man vorher loswerden

Viele Grüße

Stefan
Member: colinardo
colinardo Feb 05, 2017 updated at 11:38:01 (UTC)
Goto Top
Zitat von @StefanKittel:
Kann sich bitte Jemand erbarmen der mit mit grep den String kürzt?
?? Ist doch mit meinen Codes schon nur die Nummer also Major und Minor "5.5"

Oder wie sieht deine Ausgabe von php -v aus ?

PS: die PHP Warning muss man vorher loswerden
?? Wieso? php -v gibt doch so einen Mist erst gar nicht aus.
Member: StefanKittel
StefanKittel Feb 05, 2017 at 11:37:53 (UTC)
Goto Top
Hallo

php -v sieht bei mir so aus

PHP 7.0.13-0ubuntu0.16.04.1 (cli) ( NTS )
Copyright (c) 1997-2016 The PHP Group
Zend Engine v3.0.0, Copyright (c) 1998-2016 Zend Technologies
    with Zend OPcache v7.0.13-0ubuntu0.16.04.1, Copyright (c) 1999-2016, by Zend Technologies

Mein aktuelles Skript sieht so aus.
phpversion=`php -r \@phpinfo\(\)\; | grep 'PHP Version' -m 1`  
phpversion=${phpversion/PHP Version => /}
phpversion=${phpversion:0:3}
Das geht aber bestimmt eleganter.

Stefan
Member: colinardo
colinardo Feb 05, 2017 updated at 11:39:25 (UTC)
Goto Top
Das geht aber bestimmt eleganter.
Hast du meinen Post oben überhaupt gelesen?? Dort steht es schon fix und fertig!
Dann eben nochmal ...
php -v | grep -Po 'PHP \d+\.\d+' | cut -d ' ' -f2
Member: StefanKittel
StefanKittel Feb 05, 2017 at 11:39:44 (UTC)
Goto Top
Hallo,

natürlich

hier die Ausgaben

root@server42:~# php -v | grep -Po 'PHP \d+\.\d+' | cut -d ' ' -f1 
PHP

root@server42:~# php -v | sed -rne '1 s/PHP ([0-9]+\.[0-9]+)/\1/p' 
7.0.13-0ubuntu0.16.04.1 (cli) ( NTS )
Member: colinardo
Solution colinardo Feb 05, 2017 updated at 11:40:45 (UTC)
Goto Top
Am Ende muss eine 2 stehen face-wink.
Member: StefanKittel
StefanKittel Feb 05, 2017 at 11:41:03 (UTC)
Goto Top
ahhh...
Danke
Member: StefanKittel
StefanKittel Feb 05, 2017 at 11:42:51 (UTC)
Goto Top
Für alle, so sieht es dann für mich aus

phpversion=`php -v | grep -Po 'PHP \d+\.\d+' | cut -d ' ' -f2`  
phpversion=${phpversion/./_}
echo $phpversion

Ausgabe
7_0 oder 5_5 bei mir
Member: colinardo
colinardo Feb 05, 2017 updated at 11:48:35 (UTC)
Goto Top
Zitat von @StefanKittel:

Für alle, so sieht es dann für mich aus

phpversion=`php -v | grep -Po 'PHP \d+\.\d+' | cut -d ' ' -f2`  
> phpversion=${phpversion/./_}
> echo $phpversion

Ausgabe
7_0 oder 5_5 bei mir
Das Austauschen des Punktes kannst du noch abkürzen indem du noch ein tr anhängst face-smile
php -v | grep -Po 'PHP \d+\.\d+' | cut -d ' ' -f2` | tr . _
oder mit den sed subgroups
php -v | sed -rne '1 s/PHP ([0-9]+)\.([0-9]+).*/\1_\2/p'