ubuntu litespeed php7.0得到了一个奇怪的php.ini路径

时间:2017-03-07 03:10:40

标签: php ubuntu caching composer-php litespeed

Ubuntu 16.04.2 LSPHP7.0

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

然后我将/usr/local/lsws/lsphp70/bin添加到$ PATH并为/usr/local/lsws/lsphp70/bin/php7.0创建了一个符号链接到/usr/local/lsws/lsphp70/bin/php。这样我就可以在终端中运行php作为cli版本。

 apt install composer
 composer require geoip2/geoip2:~2.0

我收到错误the requested PHP extension curl is missing from your system.

还说它

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.

但是,当我运行php -i | grep php.ini时,它会显示ini不是/etc/php/7.0/cli/php.ini而是/usr/local/lsws/lsphp70/etc/php/7.0/litespeed/php.ini

此外,我运行php --ini,它显示:

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

php cli如何将/etc/php/7.0/cli/php.ini作为其php配置文件?有谁给出了线索​​?感谢。

1 个答案:

答案 0 :(得分:1)

Ubuntu通常将系统默认php(目前为php7.0)安装到/ usr / bin / php

Composer通常会调用$ PATH中定义的PHP,通常是/ usr / bin / php。

错误“系统中缺少所请求的PHP扩展卷曲”意味着缺少Ubuntu系统默认的php7.0卷曲。解决:    apt-get install php7.0-curl 到目前为止,它应该已经解决了你的问题。

LiteSpeed Web Server通常使用LiteSpeed API与PHP引擎进行通信,这比其他API更快。在LiteSpeed Ubuntu / Debian repo中,它提供了不同版本的lsphp,它们将位于系统默认位置以外的其他位置,通常位于/ usr / local / lsws / lsphpxx / bin /。

Composer通常会使用系统默认的php位置,如上所述。如果要覆盖PHP路径以使用lsphp70 php二进制文件,则需要将此路径添加到$ PATH的开头。

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

这样,当你跑:

which php

系统应该使用在PATH中首先找到的php,即/usr/local/lsws/lsphp70/bin/php

在这种情况下,当您看到类似的php-curl缺失错误消息时,您应该运行:    apt-get install lsphp70-curl 解决问题。

要永久制作新PATH,您可以编辑〜/ .profile或.bashrc,或任何其他类似方式,这超出了本主题的讨论范围。