当前位置: 首页>>技术教程>>正文


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

, , , ,

问题描述

我正在尝试在Ubuntu 14.04上使用PHP 7 RC3 + Nginx设置Web服务器(出于测试目的)。

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

我找不到安装MySQL PDO的方法(PHP看到PDO类,但没有与MySQL相关的任何内容,例如PDO::MYSQL_ATTR_DIRECT_QUERY等。)

似乎没有库php7.0-mysql(类似于Ondřej的标准php5-mysqlndphp7.0-fpm等)

phpinfo()中的PDO部分:

PDO support      enabled
PDO drivers      no value

我怎么才能得到它?

最佳回答

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

apt-get install php-mysql

或者,如果您运行的是ubuntu 16.04或更高版本,只需运行以下命令就足够了,无需编辑php.ini文件

apt-get install php7.0-mysql

如果您正在运行ubuntu 15.10或更低版本:

编辑您的php.ini文件,该文件位于/etc/php/[version]/apache2/php.ini并搜索pdo_mysql,您可能会找到类似的内容

;extension=pdo_mysql.so

改成这个

extension=pdo_mysql.so

保存文件并重新启动apache

service apache2 restart

检查您的 phpinfo()中是否可用

次佳回答

首先安装php-mysql

sudo apt-get install php7.0-mysql

然后启用模块

sudo phpenmod pdo_mysql

然后重新启动Apache

sudo service apache2 restart 

第三种回答

首先,检查您的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

; ...

我希望这有帮助。

第四种回答

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

第五种回答

如果您在Windows上,并且您的php文件夹不在PATH中,那么您已经在php.ini中设置了绝对目录

例如:

extension_dir = "C:/php7/ext"

和不加评论

extension=php_mysqli.dll
extension=php_pdo_mysql.dll

重新启动apache2.4,它应该可以工作。

希望对您有所帮助。

第六种回答

  1. 下载php 7的源代码并将其解压缩。

  2. 打开你的终端

  3. 游到ext /mysqli目录

  4. 使用命令:phpize ./configure make make install(以root身份)

  5. 在您的php.ini文件中启用extension = mysqli.so

  6. 完成!

这对我有用

参考资料

本文由Ubuntu问答整理, 博文地址: https://ubuntuqa.com/article/7852.html,未经允许,请勿转载。