在apache环境中setenv的等价物是什么?使用apache,我可以设置env"SOMEENV"并通过$ _ENV ['SOMEENV']在php中访问它 - 但我不知道如何使用nginx + php-fpm.
我最初认为我只需要在我的php-fpm池的配置中设置ENV [SOMENEV] = test,但是var_dump($ _ ENV)仍然没有返回任何内容.
任何提示?
如果我有这样的目录结构:
/
/libraries/
/other-nonpublic-stuff/
/webroot/
Run Code Online (Sandbox Code Playgroud)
我如何设置/webroot/document_root,以便只在我的herokuapp的URL下提供它的内容?
我认为Procfile可能是实现这一目标的方法,但它并没有真正记录在案.已经尝试过像
web: php webroot/
Run Code Online (Sandbox Code Playgroud)
要么
web: sh boot.sh webroot/
Run Code Online (Sandbox Code Playgroud)
要么
web: sh webroot/
Run Code Online (Sandbox Code Playgroud)
在Procfile,但我总是最终得到Heroku push rejected, no Cedar-supported app detected
当我在根目录中使用"index.php"推送一个repo时,它工作正常,heroku ps只显示一个运行"boot.sh"的Web进程,但即使这样,Procfile也会被忽略而heroku服务于"/"而不是"/根目录".所以不是真的暗示我如何设置我的Procfile:
Process State Command
------- --------- ----------
web.1 up for 2h sh boot.sh
Run Code Online (Sandbox Code Playgroud)
我通过登录到我的"实例"的控制台heroku run bash并做了一个cat boot.sh.它包含这个:
sed -i 's/Listen 80/Listen '$PORT'/' /app/apache/conf/httpd.conf
for var in `env|cut -f1 -d=`; do
echo "PassEnv $var" >> /app/apache/conf/httpd.conf;
done
touch /app/apache/logs/error_log …Run Code Online (Sandbox Code Playgroud)