Heroku cleardb mysql 错误:无法通过套接字“/var/run/mysqld/mysqld.sock”连接到本地 MySQL 服务器 (2)

Heroku cleardb mysql 错误:无法通过套接字“/var/run/mysqld/mysqld.sock”连接到本地 MySQL 服务器 (2)

我正在尝试使用插件 cleardb/mysql 部署 php 应用程序,但没有成功。

我做的是:

git init
git add .
git commit -m "First commit"

heroku create --stack cedar

git push heroku master

heroku addons:add cleardb:ignite

heroku config | grep CLEARDB_DATABASE_URL

heroku config:add DATABASE_URL='mysql://adffdadf2341:[email protected]/heroku_db?reconnect=true'

之后我使用以下命令配置我的 php 应用程序:

<?php
    $url=parse_url(getenv("mysql://adffdadf2341:[email protected]/heroku_db?reconnect=true"));

    $server = $url["host"];
    $username = $url["user"];
    $password = $url["pass"];
    $db = substr($url["path"],1);

    mysql_connect($server, $username, $password);


    mysql_select_db($db); 

?>

当我测试连接时,出现错误:

Can't connect to local MySQL server through socket '/var/run/mysqld/mysqld.sock' (2)

我能做什么?请问有什么帮助吗?

谢谢。


编辑:

好的,我已经通过手动设置服务器配置解决了我自己的问题:

$server = "us-cdbr-east.cleardb.com";
$username = "adffdadf2341";
$password = "adf4234";
$db = "heroku_db";

现在我遇到了新问题,heroku db:push 不起作用

!    Taps Load Error: cannot load such file -- taps/operation
!    You may need to install or update the taps gem to use db commands.
!    On most systems this will be:
!  
!    sudo gem install taps

我已经安装了 gem 但仍然出现同样的错误...

答案1

你不可以这么做

$url=parse_url(getenv("mysql://adffdadf2341:[email protected]/heroku_db?reconnect=true"))

getenv = 在你的 unix 上获取一个环境。

所以

$url=parse_url(getenv(CLEARDB_DATABASE_URL)) 

很好。

相关内容