尝试使用"heroku run"运行php文件,我得到"bash权限被拒绝"

And*_*sen 1 php bash heroku chmod

我正在尝试运行一个文件,heroku run path/to/file.php我得到了一个响应:

bash: path/to/file.php: Permission denied

我在文件和目录上尝试了chmod 755,但似乎heroku将其更改为600 ...运行chmod 755后显示755,但是当我退出bash然后再返回时,权限重置为600.

我错过了什么?

也有人建议,heroku run php path/to/file.php但我得到一个错误说bash: php: command not found

fri*_*ism 7

您需要做几件事.

  • 在创建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
Run Code Online (Sandbox Code Playgroud)

调试这个的一个有用的方法是打入正在运行的Heroku dyno : heroku run bash. 那会让你四处寻找,看看事情的进展和实验.