![在 vagrant box precise64(Ubuntu 服务器 12.04 LTS)中为 CLI 启用 PDO](https://linux22.com/image/801785/%E5%9C%A8%20vagrant%20box%20precise64%EF%BC%88Ubuntu%20%E6%9C%8D%E5%8A%A1%E5%99%A8%2012.04%20LTS%EF%BC%89%E4%B8%AD%E4%B8%BA%20CLI%20%E5%90%AF%E7%94%A8%20PDO.png)
我有使用 Ubuntu 服务器 12.04 的 vagrant box (precise64)。我在服务器上手动安装了以下内容(不使用 LAMP):
- MySql 服务器 / MySql 客户端 -
Server version: 5.5.31-0ubuntu0.12.04.1 (Ubuntu)
- PHP5 -
PHP 5.3.10-1ubuntu3.6 with Suhosin-Patch (cli) (built: Mar 11 2013 14:31:48)
- Apache2 —
Server version: Apache/2.2.22 (Ubuntu)
(已存在于盒子上)
在主机(我的桌面)上,我设置了 vagrant 文件和共享文件夹,安装了 CakePHP 并且能够看到主页。(当然是在服务器上设置 VirtualHost 之后)。
我已经毫无问题地连接到数据库。当我尝试使用 CakePHP 的 CLI 工具时,出现以下错误:
Error: Database connection "Mysql" is missing, or could not be created
我也创建了一个关于此事的帖子堆栈溢出但决定看看这是否是服务器配置错误的问题。
我已通过以下结果确保 PDO 已启用:
vagrant@precise64:/etc/php5/conf.d$ php -i | grep PDO
PDO
PDO support => enabled
PDO drivers => mysql
PDO Driver for MySQL => enabled
由于我得到的答案是,SO 是为了确保为 cli 启用了 PDO。
我已经使用原生 PHP 进行了测试,并且能够使用 PDO 连接到我的数据库。但我仍然无法找出导致此问题的原因。如能提供任何帮助,我将不胜感激。
答案1
当我尝试在主机(桌面)端使用 CLI 时,客户机(服务器)端启用了 PDO。从客户机使用 CLI 没有任何问题(我猜在主机上启用 PDO 可能也能解决问题,但我不确定)