我已经使用资源目录将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文件的步骤。
答案 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)