2017-03-07 1 views
0

Ubuntu 16.04.2 LSPHP7.0ubuntu litespeed php7.0 a un chemin bizarre php.ini

wget -O - http://rpms.litespeedtech.com/debian/enable_lst_debain_repo.sh | bash 
apt install -y lsphp70 

Puis j'ajouté /usr/local/lsws/lsphp70/bin à $ PATH et a fait un lien symbolique pour /usr/local/lsws/lsphp70/bin/php7.0 à /usr/local/lsws/lsphp70/bin/php. De cette façon, je peux exécuter php dans le terminal en version cli.

apt install composer 
composer require geoip2/geoip2:~2.0 

Je suis une erreur dit the requested PHP extension curl is missing from your system.

Et aussi dit

To enable extensions, verify that they are enabled in those .ini files: 
- /etc/php/7.0/cli/php.ini 
You can also run `php --ini` inside terminal to see which files are used by PHP in CLI mode. 

Mais quand je lance php -i | grep php.ini il montre l'ini n'est pas /etc/php/7.0/cli/php.ini mais /usr/local/lsws/lsphp70/etc/php/7.0/litespeed/php.ini

De plus, je exécuter php --ini, cela montre:

Configuration File (php.ini) Path: /usr/local/lsws/lsphp70//etc/php/7.0/litespeed/ 
Loaded Configuration File:   /usr/local/lsws/lsphp70/etc/php/7.0/litespeed/php.ini 
Scan for additional .ini files in: /usr/local/lsws/lsphp70//etc/php/7.0/mods-available/ 
Additional .ini files parsed:  /usr/local/lsws/lsphp70//etc/php/7.0/mods-available/curl.ini, 
/usr/local/lsws/lsphp70//etc/php/7.0/mods-available/imap.ini, 
/usr/local/lsws/lsphp70//etc/php/7.0/mods-available/json.ini, 
/usr/local/lsws/lsphp70//etc/php/7.0/mods-available/mysqli.ini, 
/usr/local/lsws/lsphp70//etc/php/7.0/mods-available/opcache.ini, 
/usr/local/lsws/lsphp70//etc/php/7.0/mods-available/pdo_mysql.ini 

Comment peut-phi cli obtenir /etc/php/7.0/cli/php.ini comme son fichier de configuration php? Quelqu'un donne une idée? Merci.

+1

Filaire ou bizarre? – RiggsFolly

+0

Peut-être mieux de demander à http://askubuntu.com/ – RiggsFolly

+0

Merci @RiggsFolly pour corriger la faute de frappe. Je ne sais pas si vous devriez demander là-bas comme c'est un php.ini issue – harrrrrrry

Répondre

1

Ubuntu installe normalement par défaut du système php (actuellement php7.0) dans/usr/bin/php

Composer normalement appeler le PHP défini dans $ PATH, habituellement/usr/bin/php.

L'erreur "le curl de l'extension PHP demandé est absent de votre système" signifie que le php7.0 curl du système Ubuntu est manquant. Pour résoudre: apt-get install php7.0-curl Jusqu'à présent, cela devrait déjà résoudre votre problème. En général, LiteSpeed ​​Web Server utilise l'API LiteSpeed ​​pour communiquer avec le moteur PHP, ce qui est plus rapide que les autres API. Dans le référentiel LiteSpeed ​​Ubuntu/Debian, il fournit différentes versions de lsphp, qui seront à un emplacement différent de l'emplacement par défaut du système, normalement à/usr/local/lsws/lsphpxx/bin /.

Le composeur utilisera normalement l'emplacement par défaut du système comme indiqué ci-dessus. Si vous voulez écraser le chemin PHP pour utiliser lsphp70 php binary, vous devrez ajouter ce chemin au début de $ PATH.

export PATH="/usr/local/lsws/lsphp70/bin/:$PATH"

De cette façon, lorsque vous exécutez:

which php

système doit utiliser le PHP trouve d'abord dans le PATH, qui est /usr/local/lsws/lsphp70/bin/php

Dans ce cas, quand vous voyez similaire message d'erreur manquant php-curl, vous devez exécuter: apt-get install lsphp70-curl pour résoudre le problème.

Pour créer le nouveau PATH de façon permanente, vous pouvez modifier ~/.profile ou .bashrc, ou tout autre moyen similaire, ce qui dépasse la discussion de ce sujet.