Php 让pdo_mysql驱动程序在CLI中工作

Php 让pdo_mysql驱动程序在CLI中工作,php,mysql,pdo,command-line-interface,Php,Mysql,Pdo,Command Line Interface,我对CLI中的pdo_mysql扩展有问题。我正在使用本地LAMPP安装并制作一个info.php文件,我可以看到我启用了PDO和mysql驱动程序。但是当我在命令行中编写php--ri-mysql时,它返回扩展名“mysql”not present。 我已经阅读了php.ini,用于CLI的php.ini和用于浏览器加载的php.ini,在pdo配置中我看不到任何差异。PDO已为CLI激活,但PDO_mysql未激活,我找不到任何PDO_mysql.so文件或任何其他文件或行,这些文件或行告诉

我对CLI中的pdo_mysql扩展有问题。我正在使用本地LAMPP安装并制作一个info.php文件,我可以看到我启用了PDO和mysql驱动程序。但是当我在命令行中编写
php--ri-mysql
时,它返回扩展名“mysql”not present。 我已经阅读了php.ini,用于CLI的php.ini和用于浏览器加载的php.ini,在pdo配置中我看不到任何差异。PDO已为CLI激活,但PDO_mysql未激活,我找不到任何PDO_mysql.so文件或任何其他文件或行,这些文件或行告诉我为什么它在浏览器而不是CLI中工作。有什么帮助吗


非常感谢。

问题解决了。我有两个php安装,一个是由LAMPP安装的,它具有所有必需的pdo驱动程序,另一个安装在系统中(我不知道它是默认随ubuntu提供的,还是我在某个时候安装的),启用了pdo,但没有pdo驱动程序。CLI与第二个PHP一起工作,除非您告诉他其他情况。我正在使用CLI中的条令,但我正在执行一个调用一些php代码的bash文件。在.doctor文件的第一行中,我可以告诉系统我想要使用什么php:

#!/root/to/lampp/php
它成功了(实际上它没有创建它应该创建的数据库表,但这是一个不同的问题,我仍然需要解决。

我正在通过apt
sudo apt get install php5 cli使用ubuntu+mysql(独立安装非lamp)和php cli。默认情况下安装了PDO,但安装了相应的db驱动程序(在我的例子中是mysql)没有安装。这可以通过命令行
php--ri-pdo
进行验证,这将导致pdo支持=>已启用,pdo驱动程序=>(空白)


要纠正mysql的这一问题,请通过
sudo apt get install php5 mysql
安装php5 mysql模块。显然,请在安装php5 cli后执行此操作。如果您使用的是其他数据库(例如postgres或odbc)通过
sudo-apt-cache-search-php5

查找合适的模块名,如果您想使用的是PDO,为什么要查询老式的
mysql
扩展?没错,但是如果我查询PDO,我会得到PDO支持,但没有安装驱动程序。我执行了您提到的这两个步骤。但是当我运行php时--r我pdo,我仍然没有看到php5 mysql。你知道为什么会这样吗?如果你把那行hash-bang行放在单元测试的顶部,那么“driver not found”错误消息就消失了?