ubuntu litespeed php7.0 有一个奇怪的 php.ini 路径
ubuntu litespeed php7.0 got a weird php.ini path
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 配置文件?有人提供线索吗?谢谢。
Ubuntu 通常安装系统默认 php(当前 php7.0)到 /usr/bin/php
Composer 通常会调用 $PATH 中定义的 PHP,通常是 /usr/bin/php.
错误 "the requested PHP extension curl is missing from your system" 表示 Ubuntu 系统默认值 php7.0 curl 丢失。解决:
apt-get install php7.0-curl
到目前为止,它应该已经解决了您的问题。
LiteSpeed Web 服务器通常使用 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 missing 错误信息时,您应该运行:
apt-get install lsphp70-curl
解决问题。
要使新的 PATH 永久化,您可以编辑 ~/.profile 或 .bashrc,或任何其他类似的方式,这超出了本主题的讨论范围。
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 配置文件?有人提供线索吗?谢谢。
Ubuntu 通常安装系统默认 php(当前 php7.0)到 /usr/bin/php
Composer 通常会调用 $PATH 中定义的 PHP,通常是 /usr/bin/php.
错误 "the requested PHP extension curl is missing from your system" 表示 Ubuntu 系统默认值 php7.0 curl 丢失。解决:
apt-get install php7.0-curl
到目前为止,它应该已经解决了您的问题。
LiteSpeed Web 服务器通常使用 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 missing 错误信息时,您应该运行:
apt-get install lsphp70-curl
解决问题。
要使新的 PATH 永久化,您可以编辑 ~/.profile 或 .bashrc,或任何其他类似的方式,这超出了本主题的讨论范围。