使用PHP和PDO访问Bluemix上的ClearDB

使用PHP和PDO访问Bluemix上的ClearDB,php,pdo,connection,ibm-cloud,cleardb,Php,Pdo,Connection,Ibm Cloud,Cleardb,我正在尝试使用PHP和ClearDB创建一个Bluemix应用程序(使用PDO进行连接) 当我尝试使用我的本地主机(WAMP)访问服务器时,我可以得到连接成功消息。当我简单地复制并通过Bluemix上的代码时,会出现以下错误: Fatal error: Class 'PDO' not found in /home/vcap/app/htdocs/includes/db.php on line 43 我确信我的凭据是有效的,因为我使用相同的凭据通过MySQL Workbench进行连接。 我确信

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

当我尝试使用我的本地主机(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扩展(我已经看到了这篇文章,但没有成功)

一些配置文件:

.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"]
 }
{
  "PHP_EXTENSIONS": ["bz2", "zlib", "openssl", "fpm", "tokenizer", "curl", "mcrypt", "mbstring", "pdo", "pdo_mysql", "mysql", "mysqli"]
}
第43行来自/home/vcap/app/htdocs/includes/db.php

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

有人能帮我修一下吗? 谢谢

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

我唯一需要的是:

.bp config>options.json

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

您是否查看了服务器的错误日志以了解500是关于什么的?在你发现错误的真正原因之前,摆弄配置文件是毫无意义的。这是Hello@JeffSloyer的复制品,我已经尝试了那篇文章中给出的解决方案,但我无法修复…Hello@MarcB,我再也没有收到错误500,但是PDO仍然无法工作。所以和.dll文件正在加载。对于unix系统也是如此,.dll是用于windows的。你不能把它们混在一起。如果查看php/apache错误日志,您可能会看到大量关于无法加载DLL的错误/警告(因为系统路径表明您在unixish系统上)。