已安装PHP 7.3,但phpenmod pgsql表示php 7.2

时间:2019-08-06 22:53:53

标签: php

大约2-3个月前,我为Postgres 10安装了php 7.3,但是由于其他项目,我不得不停下来了,现在我开始将php用于Postgres。

我以前已经安装了php 7.2,所以在7.3安装之后,我从Putty发出了以下命令:

sudo a2dismod php7.2
sudo a2enmod php7.3

行得通。现在,我需要为php安装pdo。为了检查,我从Putty发出了以下命令:

sudo apt-get install php-pgsql

Reading package lists... Done
Building dependency tree
Reading state information... Done
php-pgsql is already the newest version     (2:7.3+69+ubuntu18.04.1+deb.sury.org+2+php7.3).
The following package was automatically installed and is no     longer required:
  grub-pc-bin
Use 'sudo apt autoremove' to remove it.
0 upgraded, 0 newly installed, 0 to remove and 78 not upgraded.

好的,因此它确认已安装php 7.3。现在,我从Putty发出了此命令:

sudo phpenmod pgsql

油灰回荡:

WARNING: Module pgsql ini file doesn't exist under /etc/php/7.2/mods-available
WARNING: Module pgsql ini file doesn't exist under /etc/php/7.2/mods-available

但是等等-我已经从php 7.2切换到php 7.3。为什么我得到“在/etc/php/7.2/mods-available下不存在”。应该说7.3,而不是7.2。

当我的默认值现在为7.3时,为什么会收到此警告(该警告在7.2中不存在)?我确认pgsql ini文件确实存在于/etc/php/7.3/mods-available下。

我的最终目标是为php 7.3安装pdo,但对于下一步该怎么做我感到困惑。当我发布phpenmod pgsql时,它警告我7.2,但我启用了7.3。我是否不需要发出命令sudo phpenmod pgsql来安装和使用pdo?

2 个答案:

答案 0 :(得分:1)

运行sudo apt install php7.3-common

答案 1 :(得分:1)

phpenmod默认情况下为所有可用的sapi和php版本启用一个模块,这仅意味着您没有为7.2安装该模块。因此,您会两次看到警告,一次是cli sapi,一次是mod_php

您可以通过标志-vphpenmod -v 7.3 pgsql来传递特定的php版本,但是该警告仅是参考性的,应针对可用的版本启用该模块。

或者,如果您需要切换版本apt install php7.2-pgsql,也可以为7.2安装该模块。