PHP 7 je izšel včeraj in rad bi ga preizkusil.
PHP 7.0.0 prinaša novo različico gonilnika Zend Engine, številne izboljšave in nove funkcije, kot so
- Izboljšana zmogljivost: PHP 7 je do dvakrat hitrejši od PHP 5.6
- bistveno manjša poraba pomnilnika
- abstraktno sintaktično drevo
- dosledna 64-bitna podpora
- izboljšana hierarhija izjem
- številne usodne napake so pretvorjene v izjeme
- varen generator naključnih števil
- Odstranjeni stari in nepodprti vmesniki SAPI in razširitve
- Operator za koalescenco nič (??)
- deklaracije vrnitvenih in skalarnih tipov
- Anonimni razredi
- potrditve z ničelnimi stroški
Ali ga je mogoče namestiti na trenutno različico Ubuntuja?
Ali obstajajo kakšne trenutne omejitve ali znane težave z združljivostjo?
Naredite lahko naslednje:
sudo apt-get install python-software-properties software-properties-common
sudo LC_ALL=C.UTF-8 add-apt-repository ppa:ondrej/php
sudo apt-get update
Po želji očistite PHP 5:
sudo apt-get remove php5-common -y
Ali ga neposredno očistite, vključno s konfiguracijskimi datotekami:
sudo apt-get purge php5-common -y
In končno namestite PHP 7:
sudo apt-get install php7.0 php7.0-fpm php7.0-mysql -y
Po želji nato pospravite nepotrebne pakete:
sudo apt-get --purge autoremove -y
PHP 7.0 lahko namestite tudi iz izvorov z uporabo te skripte script ali po navodilih na tem mestu blog.
EDIT:
PHP5 je bil nadomeščens PHP7 kot privzeti PHP v Ubuntuju 16.4, zato za namestitev PHP7 v Ubuntu 16.04:
sudo apt-get install php7.0
Ali .
sudo apt-get install php
Imate dve možnosti:
Počakajte na novo izdajo Ubuntuja, ki vključuje PHP7
Ubuntu ne bo izdal večjih novih različic za večino programske opreme za obstoječe različice Ubuntuja; za pridobitev večje nove različice boste morali počakati na novejšo različico Ubuntuja.
Ustanovite različico tretje osebe, na primer iz PPA
PPA niso vezani na urnike izdajanja ali politike Ubuntuja, zato lahko med drugim pogosteje spreminjajo različice. PPA, omenjen v odgovoru Tshilidzi Mudaua, je priljubljen način, kako biti bolj na tekočem s PHP.
sudo add-apt-repository ppa:ondrej/php
PPA nimajo enake uradne podpore Ubuntuja kot različice, ki jih ponuja Ubuntu, in so lahko zaradi različnih načrtov in politik drugačne kakovosti ali varnostnih standardov. V tem primeru je razvijalec, ki daje na voljo ta PPA, dobro znan tukajšnji skupnosti.
Zgornji postopek ni deloval za moj strežnik Ubuntu 15.10, zato sem mislil, da bom delil, kaj je deloval, če je drugim koristno.
Najprej sem moral odstraniti nekatere ključne module PHP 5:
sudo apt-get -y purge php5 libapache2-mod-php5 php5 php5-cli php5-common php5-curl php5-gd php5-imap php5-intl php5-json php5-mcrypt php5-mysql php5-pspell php5-readline php5-sqlite
Nato sem odstranil še nekaj dodatnih stvari, ki so ostale:
sudo apt-get autoremove
Nato namestite PHP 7.0:
sudo apt-get install php7.0
Potem, ko je bil PHPMyAdmin odstranjen Apache2 ne bi'začel, zato sem moral odstraniti konfiguracijsko datoteko (namesto tega bi jo lahko premaknil):
sudo rm /etc/apache2/conf-enabled/phpmyadmin.conf
Nato sem moral ponovno zagnati Apache2:
sudo service apache2 restart
PHP 7.0 je nato deloval (potrjeno z PHPINFO();
)
Vendar sem ugotovil, da je edini način, da PHPMyAdmin deluje, da ga ročno namestim/nadgradim, saj sicer najnovejša različica, ki je na voljo v virih, še ne podpira PHP 7.
**EDIT: Zdaj sem našel način, kako PHPMyAdmin posodobiti na združljivo različico, ne da bi bilo treba klonirati iz GIT-a ali ročno sestavljati iz virov, zato to dodajam spodaj:
Najprej dodajte to skladišče, posodobite seznam virov in nadgradite (opomba: če je bilo med nadgradnjo na PHP7 odstranjeno, ga boste morali namestiti in ne nadgraditi):
sudo add-apt-repository ppa:nijel/phpmyadmin
sudo apt-get update
sudo apt-get dist-upgrade
Vendar je bilo treba med namestitvijo (v mojem strežniku) zagnati skript za nadgradnjo podatkovne zbirke upgrade_column_info_4_3_0+.sql
, ki pa ni uspel z naslednjo napako:
mysql said: ERROR 1060 (42S21) at line 28: Duplicate column name 'input_transformation'
Odločil sem se, da napake ne bom upošteval in nadgradnjo dokončal.
Po namestitvi sem odprl skripto nadgradnje .sql na naslovu /usr/share/phpmyadmin/sql/upgrade_column_info_4_3_0+.sql
Skripto sem zagnal ročno in odstranil dve sporni vrstici, ki sta poskušali ustvariti dva stolpca, ki sta že obstajala (koda za odstranitev):
ALTER TABLE `pma__column_info`
ADD `input_transformation` varchar(255) CHARACTER SET utf8 COLLATE utf8_bin NOT NULL DEFAULT '',
ADD `input_transformation_options` varchar(255) CHARACTER SET utf8 COLLATE utf8_bin NOT NULL DEFAULT '';
Nazadnje sem moral urediti datoteko konfiguracije na naslovu /etc/phpmyadmin/config.inc.php
in dodati naslednji dve vrstici:
$cfg['Servers'][$i]['designer_settings'] = 'pma__designer_settings';
$cfg['Servers'][$i]['export_templates'] = 'pma__export_templates';
Po tem je PHPMyAdmin uspešno posodobljen in razširjene funkcije so omogočene. Upam, da to pomaga tudi drugim.