1

我的 php 版本是PHP 7.4.7,我的发行版是lsb_release -a给我的

No LSB modules are avaliable
Distributor ID: TurnKey
Description: TurnKey GNU/Linux 9.12 (stretch)
Release: 9.12
Codename: stretch

如果我尝试运行命令sudo pecl install sqlsrv这是我得到的输出

[root@360 ~]# sudo pecl install sqlsrv
downloading sqlsrv-5.8.1.tgz ...
Starting to download sqlsrv-5.8.1.tgz (186,879 bytes)
........................................done: 186,879 bytes
PHP Parse error:  syntax error, unexpected end of file, 
expecting function (T_FUNCTION) or const (T_CONST) in /usr/share/php/Archive/Tar.php 
on line 2383

为了安装这个模块,我需要做什么?

4

1 回答 1

0

我对 MS SQLserver 完全不熟悉,而且 PHP 不是我有很多关系的语言。但是我对 TurnKey 非常熟悉,所以让我来帮助您朝着正确的方向前进!:)

首先,TBH,我不确定您的支持问题是否适合这样的问答网站(至少在没有更多关于您所做的自定义以及您发现自己的问题之前的步骤的信息的情况下) . 无论如何,我都会有一个裂缝。

可能还值得注意的是,以防万一也不清楚,您当前的服务器是 TurnKey v15.x - 基于 Debian 9/Stretch。

一个快速的谷歌将我带到了 MS 文档,其中指出有一些先决条件。我不确定这些是否与您的问题有关,但为确保我们在同一页面上,请确保您已遵循 Debian 的相关步骤。即如这些链接中所述:

你也没有注意到你是如何/从哪里安装 PHP 7.4 的?我假设您是通过https://deb.sury.org/安装的,即遵循此处的 Debian 步骤:https ://packages.sury.org/php/README.txt

假设是这样,那么我还建议确保您安装了最新版本的 PEAR(即来自 Ondřej Surý 存储库的版本,而不是来自 Debian 的版本)。如果你想检查,试试这个:

apt policy php-pear

Debian Streth 版本当前为 1.10.1(完整字符串:“1:1.10.1+submodules+notgz-9+deb9u1”)。据我所知,sury.org 的版本应该是 1.10.9(完整字符串:“1:1.10.9+submodules+notgz-1+0~20191119.13+debian9~1.gbp296d25”)。

和/或像这样安装应该可以解决问题(如果您已经设置了其他所有内容 - 之后可能值得仔细检查):

apt update
apt install php-pear

更多的谷歌搜索表明,一旦你完成了所有排序并且如果你仍然遇到同样的问题,那么在重试之前尝试重新安装 Archive_Tar:

pear install Archive_Tar

如果在那之后你仍然有问题,不幸的是,我没有想法。尽管可能值得将问题报告给 MS?代码的问题跟踪器在msphpsql这里:https ://github.com/microsoft/msphpsql/issues

于 2020-07-06T03:27:09.703 回答