PHP缺少mysql pdo驱动程序


PHP is Missing mysql pdo Driver

我正试图运行一个Symfony 3应用程序与php 7从源代码安装,我得到一个缺失的PDO驱动程序异常。根据http://pecl.php.net/package/PDO_MYSQL PDO_MYSQL扩展现在是PHP核心的一部分。

Q1.a)如果我有PDO_MYSQL扩展(我必须,因为它的核心),这是否意味着我也有mysql pdo驱动程序?

Q2.b)是否有进一步的运行时配置,我必须做,以确保驱动程序得到使用?

我试过添加

扩展= php_pdo.so

扩展= php_pdo_mysql.so

到我加载的php.ini文件。

Q2.a)这些是正确的扩展名吗?我怎么才能知道呢?
Q2.b)我是否需要为核心php元素提供扩展引用?

最后

:

第三季。我如何检查我的PHP安装是否包含mysql pdo驱动程序,以及如何确保它在运行时被加载?

谢谢你的输入。

编辑1:我在Linux Mint上运行。
编辑2:这里有一些我在我这边看到的更多细节:

"在启动内置php服务器时,我得到以下消息:PHP启动:无法加载动态库/usr/local/lib/PHP/extensions/no-debug-non-zts-20151012/php_pdo。所以' -/usr/local/lib/php/extensions/no-debug-non-zts-20151012/php_pdo。so:不能打开共享对象文件:在行0的Unknown中没有这样的文件或目录PHP启动:无法加载动态库/usr/local/lib/PHP/extensions/no-debug-non-zts-20151012/php_pdo_mysql。所以' -/usr/local/lib/php/extensions/no-debug-non-zts-20151012/php_pdo_mysql。

此消息向我建议扩展引用不正确或扩展不存在。我使用"dpkg -L php-mysql",发现软件包安装在"/usr/share/doc/php-mysql",然而,当我检查php-mysql目录时,我所看到的只是一个更改日志和一个版权文件(隐藏显示)。这是包的真正安装位置吗?如果是,这个目录中是否应该有更多的安装位置?

。所以暗示你是在Linux上-你安装PHP作为一个包。你可能需要安装pdo/mysql包- PHP库可能是"核心",但不一定在主包中(令人困惑,但这只是意味着它不是PEAR交付的,真的)。

sudo apt-get install php5-mysql

或者,如果你运行的是PHP7:

sudo apt-get install php-mysql

这应该会自动重新启动apache,但为了确保您可以这样做:

sudo service apache2 restart

PHP -mysql的包安装程序应该把。so库放在/usr/lib/php/yyyymmdd/ -如果你已经把PHP作为一个包安装,它会在这里。

然而,由于您是从源代码安装的,PHP似乎正在其他地方寻找库。您可以创建从/usr/local/lib/php/extensions/no-debug-non-zts-20151012/到软件包安装库的符号链接。