1. Home
  2. Tekninen
  3. Oletusphp-cli:n muuttaminen konsolissa

Oletusphp-cli:n muuttaminen konsolissa

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:

Oletusphp-cli:n muuttaminen konsolissa on helppoa, kun Zone-hallittujen palvelimien (webhotellit ja pilvipalvelimet) PHP-oletusversiolla on sama PHP-versio kuin pääverkkopalvelimella.

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ä.

Ohje SSH-yhteyden luomiseen

Establishing an SSH connection

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
Päinvastoin, jos on olemassa yleinen php.ini-tiedosto, jota ei pitäisi ladata, sinun on asetettava 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).

Updated on 24. Oct 2024
Was this article helpful?

Related Articles