我正在尝试运行一个文件,heroku run path/to/file.php
但我得到了回复:
bash:路径/到/file.php:权限被拒绝
我已经尝试chmod 755
过文件和目录,但似乎heroku将其更改回600 ...运行chmod 755
后显示755,但是当我退出bash然后回来时,权限被重置为600。
我错过了什么?
也有人建议
heroku run php path/to/file.php
但我收到一条错误消息
bash:php:找不到命令
您需要做几件事。
index.php
文件(这是检测 PHP 的方式)或像这样对其进行硬编码:heroku config:add BUILDPACK_URL=https://github.com/heroku/heroku-buildpack-php.git
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
一个有用的调试方法是 bash 进入正在运行的 Heroku dyno: heroku run bash
。这会让你四处闲逛,看看事情在哪里并进行实验。
您是否尝试过使用sudo
特权运行命令:
sudo heroku run path/to/file.php
如果您的 shell 不能使用该php
命令(即它的别名),您将需要提供绝对路径:
sudo /usr/bin/php path/to/file.php
这就是它通常所在的位置。要找到您的 PHP bin 位置,请尝试:
whereis php