使用 CentOS 8 在 PHP 7.4 中安装 pdo_sqlsrv 驱动程序
Installing pdo_sqlsrv driver in PHP 7.4 using CentOS 8
我已经在我的 CentOS 8 中成功安装了带有 Remi 软件包的 php 7.4 VPS(使用了本指南 https://www.digitalocean.com/community/tutorials/how-to-run-multiple-php-versions-on-one-server-using-apache-and-php-fpm-on-centos-8)
我的 Apache 服务器中有一个 VirtualHost,它指向我的域并加载该环境所需的 php 版本。
<VirtualHost *:80>
ServerName www.example.net
ServerAlias example.net
DocumentRoot /var/www/example.net/html
ErrorLog /var/www/example.net/log/error.log
CustomLog /var/www/example.net/log/requests.log combined
<IfModule !mod_php7.c>
<FilesMatch \.(php|phar)$>
SetHandler "proxy:unix:/var/opt/remi/php74/run/php-fpm/www.sock|fcgi://localhost"
</FilesMatch>
</IfModule>
</VirtualHost>
如何使用 Remi 为 php 7.4 安装启用 pdo_sqlsrv 扩展?
我已遵循此指南:https://docs.microsoft.com/en-us/sql/connect/php/installation-tutorial-linux-mac?view=sql-server-ver15#installing-the-drivers-on-red-hat-7-and-8 但我认为出了点问题。
如果我这样做 <?php echo phpinfo(); ?>
我发现没有模块被加载 https://gyazo.com/d5a30969f06c49e78bf3473a07776492
此外,如果我使用 php -v
检查 PHP 版本,这是输出:
PHP Warning: Module 'sqlsrv' already loaded in Unknown on line 0
PHP Warning: Module 'pdo_sqlsrv' already loaded in Unknown on line 0
PHP 7.4.12 (cli) (built: Oct 27 2020 15:01:52) ( NTS )
Copyright (c) The PHP Group
Zend Engine v3.4.0, Copyright (c) Zend Technologies
编辑:
我也用这个命令检查过yum list installed | grep php
我有以下输出。注意来自 remi 的 php-pdo
。
php-json.x86_64 7.4.12-1.el8.remi @remi-modular
php-pdo.x86_64 7.4.12-1.el8.remi @remi-modular
php-sqlsrv.x86_64 5.8.1-1.el8.remi.7.4 @remi-modular
php74.x86_64 1.0-3.el8.remi @remi-safe
php74-php-cli.x86_64 7.4.12-1.el8.remi @remi-safe
php74-php-common.x86_64 7.4.12-1.el8.remi @remi-safe
php74-php-fpm.x86_64 7.4.12-1.el8.remi @remi-safe
php74-php-json.x86_64 7.4.12-1.el8.remi @remi-safe
php74-runtime.x86_64 1.0-3.el8.remi @```
How do you enable the pdo_sqlsrv extension to a php 7.4 installation using Remi?
php-sqlsrv.x86_64 5.8.1-1.el8.remi.7.4 @remi-modular
php74-php-fpm.x86_64 7.4.12-1.el8.remi @remi-safe
您混淆了 php-*(single/default 版本)和 php74-*(专为多版本安装而设计)。阅读存储库 FAQ
要正确安装,只需遵循 Wizard instruction。
所以,如果你使用php-fpm,你需要php-sqlsrv(这是更简单的方法,所以推荐)。
如果使用php74-php-fpm,则需要php74-php-sqlsrv.
dnf remove php74\*
dnf install php-fpm php-cli
您不必从源代码构建任何东西,也不必修改任何 INI 文件。
我已经在我的 CentOS 8 中成功安装了带有 Remi 软件包的 php 7.4 VPS(使用了本指南 https://www.digitalocean.com/community/tutorials/how-to-run-multiple-php-versions-on-one-server-using-apache-and-php-fpm-on-centos-8)
我的 Apache 服务器中有一个 VirtualHost,它指向我的域并加载该环境所需的 php 版本。
<VirtualHost *:80>
ServerName www.example.net
ServerAlias example.net
DocumentRoot /var/www/example.net/html
ErrorLog /var/www/example.net/log/error.log
CustomLog /var/www/example.net/log/requests.log combined
<IfModule !mod_php7.c>
<FilesMatch \.(php|phar)$>
SetHandler "proxy:unix:/var/opt/remi/php74/run/php-fpm/www.sock|fcgi://localhost"
</FilesMatch>
</IfModule>
</VirtualHost>
如何使用 Remi 为 php 7.4 安装启用 pdo_sqlsrv 扩展?
我已遵循此指南:https://docs.microsoft.com/en-us/sql/connect/php/installation-tutorial-linux-mac?view=sql-server-ver15#installing-the-drivers-on-red-hat-7-and-8 但我认为出了点问题。
如果我这样做 <?php echo phpinfo(); ?>
我发现没有模块被加载 https://gyazo.com/d5a30969f06c49e78bf3473a07776492
此外,如果我使用 php -v
检查 PHP 版本,这是输出:
PHP Warning: Module 'sqlsrv' already loaded in Unknown on line 0
PHP Warning: Module 'pdo_sqlsrv' already loaded in Unknown on line 0
PHP 7.4.12 (cli) (built: Oct 27 2020 15:01:52) ( NTS )
Copyright (c) The PHP Group
Zend Engine v3.4.0, Copyright (c) Zend Technologies
编辑:
我也用这个命令检查过yum list installed | grep php
我有以下输出。注意来自 remi 的 php-pdo
。
php-json.x86_64 7.4.12-1.el8.remi @remi-modular
php-pdo.x86_64 7.4.12-1.el8.remi @remi-modular
php-sqlsrv.x86_64 5.8.1-1.el8.remi.7.4 @remi-modular
php74.x86_64 1.0-3.el8.remi @remi-safe
php74-php-cli.x86_64 7.4.12-1.el8.remi @remi-safe
php74-php-common.x86_64 7.4.12-1.el8.remi @remi-safe
php74-php-fpm.x86_64 7.4.12-1.el8.remi @remi-safe
php74-php-json.x86_64 7.4.12-1.el8.remi @remi-safe
php74-runtime.x86_64 1.0-3.el8.remi @```
How do you enable the pdo_sqlsrv extension to a php 7.4 installation using Remi? php-sqlsrv.x86_64 5.8.1-1.el8.remi.7.4 @remi-modular php74-php-fpm.x86_64 7.4.12-1.el8.remi @remi-safe
您混淆了 php-*(single/default 版本)和 php74-*(专为多版本安装而设计)。阅读存储库 FAQ
要正确安装,只需遵循 Wizard instruction。
所以,如果你使用php-fpm,你需要php-sqlsrv(这是更简单的方法,所以推荐)。
如果使用php74-php-fpm,则需要php74-php-sqlsrv.
dnf remove php74\*
dnf install php-fpm php-cli
您不必从源代码构建任何东西,也不必修改任何 INI 文件。