PHP 7 kom ut i går, og jeg vil gjerne prøve det.
PHP 7.0.0 kommer med en ny versjon av Zend Engine, mange forbedringer og nye funksjoner, for eksempel
- Forbedret ytelse: PHP 7 er opptil dobbelt så rask som PHP 5.6
- Betydelig redusert minnebruk
- Abstrakt syntakstre
- Konsekvent 64-biters støtte
- Forbedret unntakshierarki
- Mange fatale feil konvertert til unntak
- Sikker tilfeldig tallgenerator
- Fjernet gamle og ikke-støttede SAPI-er og utvidelser
- Den null koalescerende operatøren (??)
- Retur og skalar type erklæringer
- Anonyme klasser
- Null kostnad hevder
Er det mulig å installere det på nåværende Ubuntu-versjon?
Er det noen nåværende begrensninger eller kjente kompatibilitetsproblemer?
Du kan gjøre følgende:
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
Eventuelt rense PHP 5:
sudo apt-get remove php5-common -y
Eller rens den direkte, inkludert konfigurasjonsfiler:
sudo apt-get purge php5-common -y
Og til slutt installere PHP 7:
sudo apt-get install php7.0 php7.0-fpm php7.0-mysql -y
Eventuelt rydde opp i unødvendige pakker etterpå:
sudo apt-get --purge autoremove -y
Alternativt kan du installere PHP 7.0 fra kilder ved hjelp av dette skriptet script eller følge instruksjonene på denne bloggen.
EDIT:
PHP5 har nå blitt erstattet med PHP7 som standard PHP i Ubuntu 16.4, så for å installere PHP7 på Ubuntu 16.04:
sudo apt-get install php7.0
Eller
sudo apt-get install php
Du har to alternativer:
Vent til det er en ny Ubuntu-utgivelse som inkluderer PHP7 .
Ubuntu vil ikke gi ut større nye versjonsutgivelser til de fleste programvare til eksisterende Ubuntu-versjoner; for å få en større ny versjonsutgivelse må du vente til en nyere versjon av Ubuntu.
Installer en tredjepartsversjon, for eksempel fra en PPA.
PPA-er er ikke bundet av utgivelsesplanene eller retningslinjene til Ubuntu, så de står blant annet fritt til å endre versjoner oftere. PPA nevnt i Tshilidzi Mudaus svar er en populær måte å holde seg mer oppdatert med PHP.
sudo add-apt-repository ppa:ondrej/php
PPA-er kommer ikke med den samme offisielle Ubuntu-støtten som Ubuntu-leverte versjoner, og på grunn av forskjellige tidsplaner og retningslinjer kan de være av en annen kvalitet eller sikkerhetsstandard. I dette tilfellet er utvikleren som gjør denne PPA-en tilgjengelig, godt kjent for samfunnet her.
Prosessen ovenfor fungerte ikke for Ubuntu 15.10-serveren min, så jeg tenkte jeg ville dele det som fungerte i tilfelle andre synes det var nyttig.
Først måtte jeg fjerne visse viktige PHP 5-moduler:
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
Fjern deretter noen ekstra ting som ble igjen:
sudo apt-get autoremove
Installer deretter PHP 7.0:
sudo apt-get install php7.0
Da PHPMyAdmin ble fjernet, ville ikke Apache2 starte, så jeg måtte fjerne konfigurasjonsfilen (jeg kunne ha flyttet den i stedet):
sudo rm /etc/apache2/conf-enabled/phpmyadmin.conf
Så måtte jeg starte Apache2 på nytt:
sudo service apache2 restart
PHP 7.0 ble da kjørt (bekreftet med PHPINFO();
)
Imidlertid har jeg funnet ut at den eneste måten å få PHPMyAdmin til å fungere på er å installere / oppgradere den manuelt, da den nyeste versjonen som er tilgjengelig i kildene ikke støtter PHP 7 ennå.
**EDIT: Jeg har nå funnet en måte å få PHPMyAdmin oppdatert til en kompatibel versjon uten å måtte klone fra GIT eller kompilere manuelt fra kilder, så jeg legger til dette nedenfor:
Legg først til dette depotet, oppdater kildelisten og oppgrader (NB: hvis det har blitt fjernet under oppgraderingen til PHP7, må du installere i stedet for å oppgradere det):
sudo add-apt-repository ppa:nijel/phpmyadmin
sudo apt-get update
sudo apt-get dist-upgrade
Under installasjonen (på serveren min) måtte den imidlertid kjøre et databaseoppgraderingsskript upgrade_column_info_4_3_0+.sql
, men dette mislyktes med følgende feil:
mysql said: ERROR 1060 (42S21) at line 28: Duplicate column name 'input_transformation'
Jeg valgte å ignorere feilen og fullføre oppgraderingen.
Etter installasjonen åpnet jeg .sql-oppgraderingsskriptet på /usr/share/phpmyadmin/sql/upgrade_column_info_4_3_0+.sql
.
Jeg kjørte skriptet manuelt og fjernet de to krenkende linjene som prøvde å opprette 2 kolonner som allerede eksisterte (kode for å fjerne):
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 '';
Til slutt måtte jeg redigere konfigurasjonsfilen på /etc/phpmyadmin/config.inc.php
og legge til følgende to linjer:
$cfg['Servers'][$i]['designer_settings'] = 'pma__designer_settings';
$cfg['Servers'][$i]['export_templates'] = 'pma__export_templates';
Etter dette er PHPMyAdmin oppdatert og de utvidede funksjonene er aktivert. Håper dette hjelper andre.