大约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?
答案 0 :(得分:1)
运行sudo apt install php7.3-common
答案 1 :(得分:1)
phpenmod
默认情况下为所有可用的sapi和php版本启用一个模块,这仅意味着您没有为7.2安装该模块。因此,您会两次看到警告,一次是cli
sapi,一次是mod_php
。
您可以通过标志-v
:phpenmod -v 7.3 pgsql
来传递特定的php版本,但是该警告仅是参考性的,应针对可用的版本启用该模块。
或者,如果您需要切换版本apt install php7.2-pgsql
,也可以为7.2安装该模块。