Linux
未指定完整 PHP 路徑時來自主管的權限錯誤
我已經在 Docker 容器中從 Debian Stretch 上的原始碼編譯了 PHP。
我已將此條目添加到我的主管配置中:
command=/bin/sh -c 'QUEUE=orders/create APP_INCLUDE=/var/www/html/jobs/OrdersCreate.php php /var/www/html/includes/vendor/resque/php-resque/resque.php >> /var/www/log/OrdersCreate.log 2>&1' autostart=true autorestart=true priority=11 stdout_events_enabled=true stderr_events_enabled=true stdout_logfile=/dev/stdout stdout_logfile_maxbytes=0 stderr_logfile=/dev/stderr stderr_logfile_maxbytes=0
它記錄錯誤:
/bin/sh: 1: php: Permission denied.
如果我添加 PHP 的完整路徑
/usr/bin/php/bin/php
,它工作正常。為什麼會這樣以及如何在不指定完整路徑的情況下使其工作?
您需要編輯
$PATH
環境變數以包含php
二進製文件所在的位置。在您的 Dockerfile 中:
ENV PATH "$PATH:/usr/bin/php/bin"