使用wamp服务器开发的php应用程序设置构建包失败


Set buildpack failed for php application developed using wamp server

我的应用程序文件夹名称为"social_network"。它在wamp'www路径中。我试图使用git命令部署应用程序文件夹("社交网络")到heroku。我按照希罗库的指导页上的所有指示去做。我包括了作曲家。app文件夹下的json文件,安装了composer,保留了Procfile。我甚至下达了"heroku buildpacks:set"的命令。但是推送仍然失败,并显示错误消息"set buildpack failed"。在Procfile中的代码是:"web: vendor/bin/heroku-php-apache2."这是在wamp服务器中应用程序的进程类型吗?我应该尝试部署哪个文件夹——wamp还是social_network?由于它是在wamp服务器上开发的,我怀疑是否会有更多的修改来部署。如何才能成功部署?

我犯的错误是使用了composer的文件。json和Procfile以及我的php文件在social_network文件夹下,而存储库是在www文件夹中创建的(我在www文件夹中有我的。git文件夹)。因此,heroku无法将我的应用程序识别为php应用程序,推送失败。

由于我有一个很大的困难部署我的php应用程序是通过wamp服务器开发的,我想解释在部署php应用程序需要一个数据库到heroku所涉及的所有步骤。

最好将所有的应用程序文件直接放在www文件夹下。

可以参考以下文档:

heroku for php:

拥有一个heroku账号,安装php,安装composer并运行它。编译器会在app目录下的vendor文件夹中下载所需的包。

下载heroku CLI并使用命令登录heroku:

heroku login

包括作曲家。json文件,以便heroku识别应用程序是一个php应用程序。它应该包含以下代码:

{
  "require": {
    "php": "^5.5.12"
  }
}

上面的代码将指示Heroku使用最新版本的PHP 5。版本可以是应用程序使用的任何版本。

有一个Procfile声明应该执行什么命令来启动应用程序。它应该有以下代码:

web: vendor/bin/heroku-php-apache2

现在在cmd中,确保www文件夹的路径:

c:'wamp'www>

如果对编写器进行了任何更改。Json文件,更新编译器。锁定文件:

 c:'wamp'www> update composer

接下来,在www文件夹中创建一个新的存储库:

c:'wamp'www>git init

然后将你的文件添加到存储库。

c:'wamp'www>git add .

然后提交:

c:'wamp'www>git commit

然后在heroku

中创建一个应用程序
c:'wamp'www>heroku create

然后是创建数据库和建立连接的部分:

可以参考以下文档:

ClearDb数据库文档php by heroku

创建数据库

C:'wamp'www>heroku addons:create cleardb:ignite

设置数据库的url为在heroku中创建的应用:

C:'wamp'www> heroku config:set DATABASE_URL='the url that was created by the above command'

了解CLEARDB_DATABASE_URL:

C:'wamp'www>heroku config

给出url:

CLEARDB_DATABASE_URL= mysql://user:password@host/heroku_db?reconnect=true

CLEARDB_DATABASE_URL:

示例

mysql://b8xxxxxx:edxxxx@ us-cdbr-iron-east-04.cleardb.net/heroku_xx‌​xxxx?reconnect=true .

要将现有的sql文件转储到heroku中的sql数据库中,请确保已为mysql设置了PATH,然后给出以下命令:

获取mysql提示符,提示连接数据库。

C:'wamp'www>mysql -u b8xxxxxx -h us-cdbr-iron-east-04.cleardb.net -p heroku_xxxxxx

将现有文件转储到heroku数据库:

C:'wamp'www>mysql --host=us-cdbr-iron-east-04.cleardb.net --user=b8xxxxxx --password=edxxxxxx --reconnect heroku_xxxxxx< yoursqlfile.sql

现在使用创建的数据库并在代码中连接到它:

<?php
$url = parse_url(getenv("CLEARDB_DATABASE_URL"));
$server = $url["host"];
$username = $url["user"];
$password = $url["pass"];
$db = substr($url["path"], 1);
$con = mysqli_connect("$server", "$username", "$password", "$db");
?>

然后推送到heroku中创建的应用程序:

c:'wamp'www>git push heroku master

打开应用程序:

c:'wamp'www>heroku open

就是这样!现在网站已经成功托管到heroku上了!