【问题标题】:ubuntu litespeed php7.0 got a weird php.ini pathubuntu litespeed php7.0 有一个奇怪的 php.ini 路径
【发布时间】:2017-03-07 03:10:40
【问题描述】:

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。这样我就可以在终端中以 cli 版本运行 php。

 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配置文件?有人提供线索吗?谢谢。

【问题讨论】:

  • 有线还是怪异?
  • 最好在askubuntu.com提问
  • 感谢@RiggsFolly 纠正错字。不确定是否应该在那里询问它是一个 php.ini 问题
  • 默认配置路径是php编译时设置的,不能修改。

标签: php ubuntu caching composer-php litespeed


【解决方案1】:

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

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

错误“您的系统中缺少请求的 PHP 扩展 curl”表示缺少 Ubuntu 系统默认的 php7.0 curl。解决: 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 missing 错误信息时,你应该运行: apt-get install lsphp70-curl 解决问题。

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

【讨论】:

    猜你喜欢
    • 2014-05-21
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-10-08
    • 2012-02-03
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多