小编Jos*_*osh的帖子

使用nginx/php-fpm设置$ _ENV(fka $ HTTP_ENV_VARS)

在apache环境中setenv的等价物是什么?使用apache,我可以设置env"SOMEE​​NV"并通过$ _ENV ['SOMEE​​NV']在php中访问它 - 但我不知道如何使用nginx + php-fpm.

我最初认为我只需要在我的php-fpm池的配置中设置ENV [SOMENEV] = test,但是var_dump($ _ ENV)仍然没有返回任何内容.

任何提示?

php nginx environment-variables

8
推荐指数
2
解决办法
2万
查看次数

heroku设置document_root

如果我有这样的目录结构:

/
/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)

php heroku

4
推荐指数
2
解决办法
4756
查看次数

标签 统计

php ×2

environment-variables ×1

heroku ×1

nginx ×1