我正尝试在Ubuntu 14.04
上安装带有PHP 7 RC3
+ Nginx
web服务器(用于testing目的)。
我使用ubuntu/trusty64
和PHP 7 RC 3安装了Ubuntu的Vagrant( https://launchpad.net/~ondrej/+archive/ubuntu/php-7.0 )。
我无法find安装MySQL PDO
(PHP看到PDO
类,但没有任何与MySQL相关的东西,比如PDO::MYSQL_ATTR_DIRECT_QUERY
等)
看起来像没有lib的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文件并搜索pdo_mysql,你可能会发现像这样的东西
;extension=php_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
由于eggyal没有提供他的评论作为回答后,他给了正确的建议在评论 – 我在这里发布:在我的情况下,我不得不安装模块php-mysql
。 详情请参阅问题下的评论。
首先,检查你的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 ; ...
我希望这有帮助。
如果你在windows上,而你的php文件夹不在你的PATH中,你已经在你的php.ini中设置了绝对目录
例如:
extension_dir = "C:/php7/ext"
并取消注释
extension=php_mysqli.dll extension=php_pdo_mysql.dll
重新启动apache2.4,它应该工作。
我希望它有帮助。
我有,几乎相同的问题。 我能够看到PDO已启用,但我没有可用的驱动程序(使用PHP 7-RC4)。 我设法通过将php_pdo_mysql扩展添加到已启用的扩展来解决该问题。
希望这可以帮助!
有相同的问题,通过实际在php.ini中启用正确的文件名来解决。 它被列为php_pdo_mysql.so,但是/ lib / php / modules中的模块名称只是被称为pdo_mysql.so
所以,只需从php.ini文件中删除“php_”前缀,然后重新启动httpd服务,就像一个魅力。
请注意,我正在使用Arch,因此路径名称和服务可能因您的分布而有所不同。
phpize
。/配置
使
使安装(作为根)
这对我有效