Php 在Openshift上从Zend_Db连接到MySQL时发生PDO错误
我在OpenShift上尝试从Zend_Db连接到MySQL时遇到了这个问题:Php 在Openshift上从Zend_Db连接到MySQL时发生PDO错误,php,mysql,.htaccess,pdo,openshift,Php,Mysql,.htaccess,Pdo,Openshift,我在OpenShift上尝试从Zend_Db连接到MySQL时遇到了这个问题: Fatal error: Uncaught exception 'PDOException' with message 'SQLSTATE[HY000] [2002] Can't connect to local MySQL server through socket '/var/lib/mysql/mysql.sock' (2)' in /var/lib/openshift/52e2f054e0b8cd9dba00
Fatal error: Uncaught exception 'PDOException' with message 'SQLSTATE[HY000] [2002] Can't connect to local MySQL server through socket '/var/lib/mysql/mysql.sock' (2)' in /var/lib/openshift/52e2f054e0b8cd9dba000122/app-root/runtime/repo/library/Zend/Controller/Plugin/Broker.php on line 336 PDOException: SQLSTATE[HY000] [2002] Can't connect to local MySQL server through socket '/var/lib/mysql/mysql.sock' (2) in /var/lib/openshift/52e2f054e0b8cd9dba000122/app-root/runtime/repo/library/Zend/Db/Adapter/Pdo/Abstract.php on line 129
我已尝试输入相关环境中的值。Openshift在application.ini中创建的变量:
resources.db.adapter = "PDO_MYSQL"
resources.db.isdefaulttableadapter = true
resources.db.params.dbname = "XXXX"
resources.db.params.username = "XXXX"
resources.db.params.password = "XXXX"
resources.db.params.hostname = "127.5.203.2"
resources.db.params.charset = "UTF8"
我也在.htaccess文件中尝试过:
php_value mysql.default_socket "${OPENSHIFT_MYSQL_DB_SOCKET}"
php_value mysqli.default_socket "${OPENSHIFT_MYSQL_DB_SOCKET}"
在index.php文件中,还有:
$openshiftsocket = getenv('OPENSHIFT_MYSQL_DB_SOCKET');
//echo "OpenShift socket is [$openshiftsocket]";
if (isset($openshiftsocket)) {
echo 'foo';
ini_set('mysql.default_socket', $openshiftsocket);
ini_set('mysqli.default_socket', $openshiftsocket);
}
但我不断发现错误。你的应用程序是可伸缩的应用程序吗?不,该应用程序不可伸缩。@vlatkorun找到了解决方法吗?我也犯了同样的错误