我对CLI中的pdo_mysql扩展有问题。我正在使用一个本地LAMPP安装并制作一个info.php文件,我可以看到我已经启用了PDO和mysql驱动程序。但是,当我在命令行中编写php --ri mysql时,它返回未出现的扩展“mysql”。我读过两个php.ini,一个是用于CLI的,另一个是为浏览器加载的,我看不出pdo配置有什么不同。PDO是为cli激活的,但pdo_mysql不是,我也找不到任何pdo_mysql.so文件或任何其他文件或行,这些文件或行告诉我为什么它是从浏览器而不是从CLI中工作的。有什么帮助吗?
非常感谢。
发布于 2011-05-16 11:40:03
问题解决了。我有两个php安装,一个是由LAMPP安装的,它拥有所有必需的pdo驱动程序,另一个安装在系统中(我不知道它是默认的ubuntu,还是在某个时候安装的),其中一个安装了PDO,但没有PDO驱动程序。CLI使用第二个PHP,除非您告诉他另外的情况。我正在使用CLI中的Doctrine,但我正在执行一个bash文件,该文件调用了一些php代码。在.doctrine文件的第一行中,我可以告诉系统我想使用什么php:
#!/root/to/lampp/php它起了作用(实际上它没有创建它应该创建的数据库表,但这是一个不同的问题,我仍然需要解决。)
发布于 2011-09-27 04:54:43
我正在通过apt sudo apt-get install php5-cli使用ubuntu+mysql (单独安装非lamp)和php。默认情况下会安装PDO,但是没有安装适当的db驱动程序(在我的例子中是mysql)。这可以通过命令行php --ri pdo进行验证,这将导致PDO support=>enabled和PDO drivers=>(空白)。
要纠正这种情况,请通过sudo apt-get install php5-mysql安装php5-mysql模块。显然,在安装php5-cli之后执行此操作。如果您正在使用另一个db (例如postgres或odbc),请通过sudo apt-cache search php5查找适当的模块名称
https://stackoverflow.com/questions/6001316
复制相似问题