1

我正在尝试使用PHPClearDB(使用PDO进行连接)创建一个 Bluemix 应用程序。

当我尝试使用本地主机(WAMP)访问服务器时,我可以获得连接成功消息。当我简单地复制并粘贴 Bluemix 上的代码时,我收到以下错误:

Fatal error: Class 'PDO' not found in /home/vcap/app/htdocs/includes/db.php on line 43

我确信我的凭据有效,因为我使用相同的凭据通过 MySQL Workbench 进行连接。我确定我的语法是正确的,因为我可以使用 localhost (WAMP) 进行连接。

我搜索并发现我需要将 PDO 激活为 PHP 扩展(我已经看到这篇文章在 Bluemix 中激活 PHP 扩展但没有成功)。

一些配置文件:

.bp-config -> php -> php.ini

extension=pdo.so
extension=pdo_sqlite.so
extension=pdo_mysql.so
extension=sqlite.so
extension=mysqli.so
extension=mysql.so
extension=mbstring.so
extension=php_pdo.dll
extension=php_pdo_mysql.dll
display_errors = On
display_startup_errors = On
error_reporting = On

.bp-config -> options.json

{ 
   "PHP_EXTENSIONS": ["bz2", "zlib", "openssl", "fpm", "tokenizer", "curl", "mcrypt", "mbstring", "PDO", "pdo_mysql", "mysql", "mysqli"]
 }

/home/vcap/app/htdocs/includes/db.php 中的第 43 行

 $this->conn = new PDO($strcon, $this->user, $this->password)

服务器日志

有人可以帮我解决它吗?谢谢!

4

1 回答 1

1

我可以解决它(在@Jeff 和@Marc 的帮助下),这是解决方案:

我唯一需要的是:

.bp-config>options.json

{
  "PHP_EXTENSIONS": ["bz2", "zlib", "openssl", "fpm", "tokenizer", "curl", "mcrypt", "mbstring", "pdo", "pdo_mysql", "mysql", "mysqli"]
}
于 2015-12-07T20:42:24.980 回答