我如何在我的heroku静态应用程序中运行php文件

时间:2013-09-10 04:19:08

标签: php heroku

我已经使用资源目录将php文件添加到我的静态应用程序中,并使用以下目录结构在heroku上部署我的应用程序。

-Static
  -public
    -css (all css files)
    -js (all js files)
    -images(all images)
    -resources (pdfs,test.php)
    -index.html
  -config.ru
  -Gemfile
  -Gemfile.lock
  -Readme.md

现在,我想在提交表单时运行php文件(test.php)。但是它没有在heroku上执行。任何人都可以帮我描述运行php文件的步骤。

3 个答案:

答案 0 :(得分:2)

希望它能帮到你......

创建Heroku应用程序时,必须确保使用PHP buildpack。这将PHP运行时注入您的应用程序slug。添加一个index.php文件(这是检测到PHP的方式)或硬编码如下:

heroku config:add BUILDPACK_URL=https://github.com/heroku/heroku-buildpack-php.git

按照此问题中的详细说明设置库路径:

    heroku config:add LD_LIBRARY_PATH=/app/php/ext:/app/apache/lib

运行你的东西:

     heroku run ./php/bin/php --version

总结一下:

 heroku config:add BUILDPACK_URL=https://github.com/heroku/heroku-buildpack-php.git
 heroku config:add LD_LIBRARY_PATH=/app/php/ext:/app/apache/lib
 heroku run ./php/bin/php --version

调试此方法的有效方法是打入正在运行的Heroku dyno:heroku run bash。这将让你四处寻找,看看事情的进展和实验。

 sudo heroku run path/to/file.php

如果你的shell不能使用php命令(即它的别名),你需要提供绝对路径:

  sudo /usr/bin/php path/to/file.php 

这就是它通常所在的位置。要查找PHP bin位置,请尝试:

  whereis php

答案 1 :(得分:0)

这很简单:将index.html重命名为例如home.html的。创建一个index.php并链接到您的home.html。

致谢:This site

答案 2 :(得分:0)

变化:

在Heroku上运行PHP脚本时,现在不要使用PHP路径。只需使用" php"。

heroku run php --version

sudo heroku run php path/to/file.php

(可能不需要使用sudo - 取自上面的示例 - 我不使用sudo)