问题描述
我正在尝试在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-mysqlnd
和php7.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,它应该可以工作。
希望对您有所帮助。
第六种回答
-
下载php 7的源代码并将其解压缩。
-
打开你的终端
-
游到ext /mysqli目录
-
使用命令:phpize ./configure make make install(以root身份)
-
在您的php.ini文件中启用extension = mysqli.so
-
完成!
这对我有用