我正在尝试使用 PHP 和 ClearDB (使用 PDO 进行连接)创建Bluemix应用程序。
当我尝试使用localhost(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扩展(我已经看到这篇文章Activating PHP extensions in Bluemix但没有成功)。
一些配置文件:
.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)
有人可以帮我解决吗? 谢谢!
答案 0 :(得分:1)
我可以解决它(在@Jeff和@ Marc的帮助下),这是解决方案:
我唯一需要的是:
.bp-配置> options.json
{
"PHP_EXTENSIONS": ["bz2", "zlib", "openssl", "fpm", "tokenizer", "curl", "mcrypt", "mbstring", "pdo", "pdo_mysql", "mysql", "mysqli"]
}