PHP 7 RC3:如何安装缺少的MySQL PDO

Smx*_*Cde 50 php mysql ubuntu pdo php-7

我正在尝试使用PHP 7 RC3+ Nginxon 设置webserver Ubuntu 14.04(用于测试目的).

我使用ubuntu/trusty64来自OndřejSurý的PHP 7 RC 3(https://launchpad.net/~ondrej/+archive/ubuntu/php-7.0)在Vagrant中安装了Ubuntu .

我找不到安装方式MySQL PDO(PHP看到PDO类,但没有任何与MySQL相关的东西,比如PDO::MYSQL_ATTR_DIRECT_QUERY等)

看起来没有LIB php7.0-mysql(通过与标准类比php5-mysqlndphp7.0-fpm从的Ondrej等)

PDOphpinfo():

PDO support      enabled
PDO drivers      no value
Run Code Online (Sandbox Code Playgroud)

我怎么才能得到它?

Ang*_*115 105

对于使用apache2运行Linux的人,你需要安装php-mysql

apt-get install php-mysql
Run Code Online (Sandbox Code Playgroud)

或者如果您正在运行ubuntu 16.04或更高版本,则只需运行以下命令,无需编辑您的php.ini文件

apt-get install php7.2-mysql
Run Code Online (Sandbox Code Playgroud)

如果您运行的是ubuntu 15.10或更低版本:

编辑你的php.ini文件并搜索pdo_mysql, 你可能会发现这样的东西

;extension=pdo_mysql.so
Run Code Online (Sandbox Code Playgroud)

把它改成这个

extension=pdo_mysql.so
Run Code Online (Sandbox Code Playgroud)

保存文件并重新启动apache

service apache2 restart
Run Code Online (Sandbox Code Playgroud)

检查它是否在你的phpinfo()中可用

  • 仅供参考,我强烈建议您使用[MySQLND](http://php.net/manual/zh/intro.mysqlnd.php)(`php-mysqlnd`)而不是较旧的`php- mysql`包 (2认同)

Sta*_*ess 23

首先安装php-mysql

sudo apt-get install php7.0-mysql
//change the version number based on the php version
Run Code Online (Sandbox Code Playgroud)

然后启用该模块

sudo phpenmod pdo_mysql
Run Code Online (Sandbox Code Playgroud)

并重新启动apache

sudo service apache2 restart 
Run Code Online (Sandbox Code Playgroud)


小智 6

在 ubuntu 18.04 上,以下对我有用

在你的终端中输入这个

对于php7.3

sudo apt-get install php7.3-gd php7.3-mysql
Run Code Online (Sandbox Code Playgroud)

适用于php7.0

sudo apt-get install php7.0-gd php7.0-mysql
Run Code Online (Sandbox Code Playgroud)

对于php5

sudo apt-get install php5-gd php5-mysql
Run Code Online (Sandbox Code Playgroud)


Smx*_*Cde 5

由于Eggyal在评论中给出正确的建议后没有提供他的评论作为答案 - 我将其发布在这里:就我而言,我必须安装 module php-mysql。有关详细信息,请参阅问题下的评论。


Joã*_*cal 5

首先,检查您的php.ini 是否启用了扩展名“php_pdo_mysql”和“php_mysqli”,并且“extension_dir”的路径是否正确。如果您需要上述配置之一,则必须重新启动 php-fpm 以应用更改。

在我的情况下(我在公司使用 Windows 操作系统,我真的更喜欢 OSX 或 Linux),我解决了将这些值放在 php.ini 中的问题:

; ...

extension_dir = "ext"

; ... 

extension=php_mysqli.dll
extension=php_pdo_mysql.dll

; ...
Run Code Online (Sandbox Code Playgroud)

我希望这有帮助。