我正在尝试使用插件 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))
很好。