PHP 7 ilmestyi eilen ja haluaisin kokeilla sitä.
PHP 7.0.0 sisältää uuden version Zend Engine -ohjelmasta, lukuisia parannuksia ja uusia ominaisuuksia, kuten
- Parannettu suorituskyky: PHP 7 on jopa kaksi kertaa niin nopea kuin PHP 5.6.
- Huomattavasti vähentynyt muistin käyttö.
- Abstrakti syntaksipuu
- Johdonmukainen 64-bittinen tuki
- parannettu poikkeushierarkia
- Monet kohtalokkaat virheet muunnettu poikkeuksiksi.
- Turvallinen satunnaislukugeneraattori
- Poistettu vanhat ja tukemattomat SAPI:t ja laajennukset.
- Nollaa yhdistävä operaattori (??)
- Paluu- ja skalaarityyppi-ilmoitukset
- Anonyymit luokat
- Nollakustannusvakuutukset
Onko se mahdollista asentaa nykyiseen Ubuntu-versioon?
Onko mitään nykyisiä rajoituksia tai tunnettuja yhteensopivuusongelmia?
Voit tehdä seuraavaa:
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
Vaihtoehtoisesti puhdistaa PHP 5:
sudo apt-get remove php5-common -y
Tai puhdista se suoraan konfiguraatiotiedostot mukaan lukien:
sudo apt-get purge php5-common -y
Ja lopuksi asenna PHP 7:
sudo apt-get install php7.0 php7.0-fpm php7.0-mysql -y
Siivoa jälkikäteen mahdollisesti tarpeettomat paketit:
sudo apt-get --purge autoremove -y
Vaihtoehtoisesti voit asentaa PHP 7.0:n lähteistä käyttämällä tätä skriptiä skripti tai noudattamalla tämän blogin ohjeita.
EDIT:
PHP5 on nyt korvattu PHP7:llä oletusarvoiseksi PHP:ksi Ubuntu 16.4:ssä, joten asenna PHP7 Ubuntu 16.04:ään:
sudo apt-get install php7.0
Tai
sudo apt-get install php
Sinulla on kaksi vaihtoehtoa:
Odota, kunnes tulee uusi Ubuntu-julkaisu, joka sisältää PHP7:n.
Ubuntu ei julkaise suuria uusia versioversioita useimpiin ohjelmistoihin olemassa oleviin Ubuntu-versioihin; saadaksesi suuren uuden versioversion sinun on odotettava uudempaan Ubuntu-versioon asti.
Asenna kolmannen osapuolen versio, esimerkiksi PPA:sta
PPA:t eivät ole sidottuja Ubuntun julkaisuaikatauluihin tai -käytäntöihin, joten ne voivat vapaasti vaihtaa versioita muun muassa useammin. Tshilidzi Mudau'n vastauksessa mainittu PPA on suosittu tapa pysyä ajan tasalla PHP:n kanssa.
sudo add-apt-repository ppa:ondrej/php
PPA:illa ei ole samaa virallista Ubuntu-tukea kuin Ubuntun toimittamilla versioilla, ja erilaisten aikataulujen ja käytäntöjen vuoksi niiden laatu tai tietoturvataso voi olla erilainen. Tässä tapauksessa kehittäjä, joka tarjoaa tämän PPA:n saataville, on tuttu tälle yhteisölle.
Yllä oleva prosessi ei toiminut minun Ubuntu 15.10-palvelimella, joten ajattelin jakaa sen, mikä toimi, jos siitä on apua muille.
Ensin minun oli poistettava tietyt keskeiset PHP 5 -moduulit:
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
Sitten poistettiin muutama ylimääräinen asia, jotka jäivät jäljelle:
sudo apt-get autoremove
Asenna sitten PHP 7.0:
sudo apt-get install php7.0
Sitten kun PHPMyAdmin poistettiin, Apache2 ei käynnistynyt, joten minun oli poistettava konfigurointitiedosto (olisin voinut siirtää sen sen sijaan):
sudo rm /etc/apache2/conf-enabled/phpmyadmin.conf
Sitten minun oli käynnistettävä Apache2 uudelleen:
sudo service apache2 restart
PHP 7.0 oli sitten käynnissä (varmistettu PHPINFO();
)).
Olen kuitenkin havainnut, että ainoa tapa saada PHPMyAdmin toimimaan on asentaa/päivittää se manuaalisesti, koska muuten lähteiden uusin versio ei vielä tue PHP 7:ää.
**EDIT: Olen nyt löytänyt tavan saada PHPMyAdmin päivitettyä yhteensopivaan versioon ilman, että minun tarvitsee kloonata GIT:stä tai kääntää manuaalisesti lähteistä, joten lisään tämän alle:
Jos se on poistettu PHP7-päivityksen aikana, sinun on asennettava se eikä päivitettävä sitä):
sudo add-apt-repository ppa:nijel/phpmyadmin
sudo apt-get update
sudo apt-get dist-upgrade
Asennuksen aikana (palvelimellani) sen piti kuitenkin ajaa tietokannan päivitysskripti upgrade_column_info_4_3_0+.sql
, mutta tämä epäonnistui seuraavalla virheellä:
mysql said: ERROR 1060 (42S21) at line 28: Duplicate column name 'input_transformation'
Päätin jättää virheen huomiotta ja suorittaa päivityksen loppuun.
Asennuksen jälkeen avasin .sql-päivitysskriptin osoitteessa /usr/share/phpmyadmin/sql/upgrade_column_info_4_3_0+.sql
.
Ajoin skriptin manuaalisesti poistaen kaksi rikottavaa riviä, jotka yrittivät luoda kaksi saraketta, jotka olivat jo olemassa (poistettava koodi):
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 '';
Lopuksi minun oli muokattava konfigurointitiedostoa osoitteessa /etc/phpmyadmin/config.inc.php
ja lisättävä seuraavat kaksi riviä:
$cfg['Servers'][$i]['designer_settings'] = 'pma__designer_settings';
$cfg['Servers'][$i]['export_templates'] = 'pma__export_templates';
Tämän jälkeen PHPMyAdmin on onnistuneesti päivitetty ja laajennetut ominaisuudet ovat käytössä. Toivottavasti tämä auttaa muita.