Oletusphp-cli:n muuttaminen konsolissa on helppoa, kun Zone-hallittujen palvelimien (webhotellit ja pilvipalvelimet) PHP-oletusversiolla on sama PHP-versio kuin pääverkkopalvelimella.
Voit tarkistaa nykyisen version seuraavasti:
php -v
Se näyttää samanlaisen tulosteen:
Muiden versioiden käyttäminen
Päätoimialueen verkkoisännän PHP-version muuttaminen muuttaa myös konsolin oletusversiota. PHP-versiota voidaan muuttaa My Zone
hallintapanelissa Webhotellin hallinnan Verkkopalvelin
-osiossa.
Jos haluat muuttaa PHP-versiota vain konsolissa, voit luoda ~/bin
-hakemistoon php
-komennon symbolin, joka osoittaa haluttuun PHP CLI -versiotiedostoon tai käyttää PHP CLI -komentoja, joiden versionumero on komennon nimessä.
Pysyvä php Symlink
Jos haluat käyttää PHP-versiota 8.2, sinun on suoritettava komento:
> mkdir -p ~/bin && ln -sf /usr/bin/php82-cli ~/bin/php
Jos haluat käyttää PHP 7.4:ää tai jotain muuta versiota, sinun tulee käyttää vastaavaa versionumeroa ilman pistettä php-cli-tiedoston komennossa:
> mkdir -p ~/bin && ln -sf /usr/bin/php74-cli ~/bin/php
Kun olet suorittanut tämän komennon, kirjaudu uudelleen SSH:hon ja sen jälkeen php -v
näyttää muuttuneen version.
HUOM! Tämän symlinkin luomisen jälkeen PHP CLI -versio ei muutu automaattisesti jatkossa, kun PHP-versio vaihtuu pääverkkopalvelimelle.
Poista olemassa oleva symbolilinkki suorittamalla tämä komento:
> rm -f ~/bin/php
PHP CLI-komennot eri versioilla
Jokaiselle PHP CLI -versiolle on myös erilliset komennot, joita voidaan käyttää php
-komennon vaihtoehtona. Esimerkiksi:
> php83-cli -v PHP 8.3.7 (cli) (built: May 23 2024 08:53:27) (NTS) Copyright (c) The PHP Group Zend Engine v4.3.7, Copyright (c) Zend Technologies with Zend OPcache v8.3.7, Copyright (c), by Zend Technologies
Jos PHP CLI 7.4:ää tai jotain muuta versiota tarvitaan, sinun on käytettävä vastaavaa versionumeroa ilman pistettä komennossa.
Mikä PHP CLI -binääriversio on käyttökelpoinen, voidaan tarkistaa komennolla:
> l /usr/bin/php*-cli
Tarvittavan php.ini-tiedoston lataaminen
Koska oletuksena PHP CLI:lle käytetään samaa versiota kuin päätoimialueen PHP:lle, myös PHP CLI:lle ladataan päätoimialueen PHP-määritystiedosto php.ini.
Jos PHP CLI:lle käytetään eri versiota, päätoimialueen PHP-määritystiedostoa php.ini käytetään edelleen.
Jotta PHP CLI voi käyttää tarvittavaa versiota php.ini-tiedostosta tai jostakin tietystä php.ini-tiedostosta, on käytettävä ympäristömuuttujaa PHPRC
, jonka arvoksi on asetettu vaaditun php.ini-tiedoston polku.
Tämä voi olla isäntäpalvelimen PHP CLI php.ini, (ali)verkkotunnuksen php.ini, yleinen php.ini tai täysin erillinen php.ini-tiedosto:
> PHPRC=/etc/php/cli-php8.2/php.ini > PHPRC=/data01/virt1234/domeenid/www.example.com/phpini/https/sub.example.com/php.ini > PHPRC=/data01/virt1234/domeenid/www.example.com/phpini/global/php.ini > PHPRC=/data01/virt1234/domeenid/www.example.com/custom.ini
Tai käytä PHPRC
-ympäristömuuttujaa samassa komennossa yhdistämällä nämä kaksi komentoa:
> PHPRC=/etc/php/cli-php8.2/php.ini && wp cli info
Jos haluat käyttää toista versiota, sinun on vaihdettava versionumero php.ini-tiedostopolussa.
Kun php.ini-päätiedostoon on lisättävä tai korvattava PHP-asetuksia tai -käskyjä, voit ladata erillisen php.ini-tiedoston ympäristömuuttujan PHP_INI_SCAN_DIR
avulla. Aseta sen arvoksi polku hakemistoon, joka sisältää tarvittavan php.ini-tiedoston:
> PHP_INI_SCAN_DIR=/path/to/dir
PHP_INI_SCAN_DIR
tyhjä arvo:> PHP_INI_SCAN_DIR=
Pysyvä määritys
Kun suoritat aiemmat komennot, jotka määrittävät ladatut php.ini-tiedostot, ympäristömuuttujat PHPRC
ja PHP_INI_SCAN_DIR
pysyvät voimassa vain SSH-istunnon ajan.
Jos on tarpeen, että PHP CLI käyttää jatkuvasti tarpeellista php.ini-tiedostoa, nämä ympäristömuuttujat on lisättävä ~/.bashrc
-tiedostoon.
~/.bashrc
-tiedosto ladataan automaattisesti jokaisen SSH-istunnon alussa, ja se lataa myös sen sisältämät ympäristömuuttujat.
Edellisissä komento-esimerkeissä PHPRC:n
ja PHP_INI_SCAN_DIR:n
lisääminen ~/.bashrc
-tiedostoon ja sen lataaminen uudelleen:
> echo 'PHPRC=/etc/php/cli-php8.2/php.ini' >> ~/.bashrc && source ~/.bashrc > echo 'PHP_INI_SCAN_DIR=/path/to/dir' >> ~/.bashrc && source ~/.bashrc
Ympäristömuuttujien rivitPHPRC
ja PHP_INI_SCAN_DIR
voidaan poistaa ~/.bashrc
-tiedostosta seuraavilla komennoilla:
> sed -i '/^PHPRC=/d' ~/.bashrc > sed -i '/^PHP_INI_SCAN_DIR=/d' ~/.bashrc
Yleisimmät virheet
Oletusphp-cli:n muuttaminen konsolissa ei ole niin vaikea, mutta siinä on jotkut virheet, mikä estää halutut toiminnot. Jos konsolissa näkyy PHP CLI:hen tai php.iniin liittyvä virheilmoitus, sinun tulee tarkistaa, johtuuko tämä virhe PHP CLI:n ja ladattujen php.ini-versioiden välisestä erosta.
Lisäksi virheen voi aiheuttaa ladattu globaali php.ini, jos se on tarkoitettu vanhemmalle PHP-versiolle tai jos sen asetukset aiheuttavat ristiriitoja.
Jos PHP CLI:n ja ladattujen php.ini-versioiden välillä on merkittävä ero, se voi estää PHP CLI:n käytön konsolissa, koska php.ini-tiedosto voi määrittää ladattavan laajennuksen, jota ei ole PHP CLI -versiossa.
Esimerkiksi yleinen virheilmoitus konsolissa tällaisissa tapauksissa on:
Warning: PHP Startup: Unable to load dynamic library 'php_xmlrpc.so'.
Käytetäänkö php
php-komentoon symlinkiä vai ei, voidaan tarkistaa seuraavalla komennolla. Symlinkin käytöstä ilmaistaan inodin tyyppi l
(linkki) ja symlink-lomake /data01/virt1234/bin/php
.
> l $(whereis php)
Mikä on versio ja mitkä php.ini-tiedostot ladataan PHP CLI:lle, voidaan tarkistaa seuraavalla komennolla:
> php -v | head -1 && php --ini | grep -iE 'Configuration File|Additional'
Jos haluat käyttää PHP CLI:n vaadittua php.ini-määritystiedoston versiota konsolissa, sinun on käytettävä ympäristömuuttujaa PHPRC
(PHP doc.: PHP Runtime Configuration).