admin
admin
4672 0 0

OpenShift Can't connect to local MySQL server through socket

在OpenShift 上测试youBBS 时遇到这个问题

数据库出错:

Can not connect to MySQL server
Mysql error description: Can't connect to local MySQL server through socket '/var/lib/mysql/mysql.sock' (2) 
Mysql error number: 2002 
Date: 2013-10-24 @ 12:33 
Script: http://yb2-azcn.rhcloud.com/?q=1

是数据库配置不正确,是尝试通过变量获取数据库信息时出现的。

官方的方法是:

//数据库主机名或IP
$servername = $_ENV['OPENSHIFT_MYSQL_DB_HOST'];
//数据库用户名
$dbusername = $_ENV['OPENSHIFT_MYSQL_DB_USERNAME'];
//数据库密码
$dbpassword = $_ENV['OPENSHIFT_MYSQL_DB_PASSWORD'];
//数据库名
$dbname = $_ENV['OPENSHIFT_APP_NAME'];
//数据端口
$dbport = $_ENV['OPENSHIFT_MYSQL_DB_PORT'];

这样获取不正确吗?以前有两个应用这样还工作得很好。刚才在git bash 里建立了一个也正常。

弄了很久才发现,在git bash 里通过命令行建立PHP 应用和数据库可以$ENV 来取得正确的值,但在网页里建立应用和数据库只能通过getenv('OPENSHIFT*') 来获取。

0

See Also

Nearby


Discussion

Login Topics