首页 > 解决方案 > 使用 apache2 和 php CLI 公开和共享 php-fpm 的 env var

问题描述

我正在使用 apache2 ( v2.4.25 ) 和 php7.1-fpm 在网络服务器上运行 PHP 应用程序。

我需要为 php7.1-fpm 和 php CLI 脚本共享 env var。

我编辑/etc/php/7.1/fpm/pool.d/www.conf如下:

env['MYVAR']= thisismyvar

使用 Web 应用程序可以访问getenv('MYVAR')

但是我也需要为我的 CLI 脚本设置这个环境变量。

此测试命令不返回任何内容:sudo -u www-data env | grep MYVAR

我的问题是:如何在不复制/粘贴的情况下共享 php-fpm(使用 apache2)和 php CLI 脚本的 env var?

我的 apache2 虚拟主机:

<VirtualHost *:80>
    ServerName app.company
    DocumentRoot  /var/www/app1/app/public/

    <Directory /var/www/poll>
        Options -Indexes +FollowSymLinks +MultiViews
        AllowOverride All
        Require all granted
    </Directory>
    <FilesMatch \.php$>
        # Apache 2.4.10+ can proxy to unix socket
        SetHandler "proxy:unix:/var/run/php/php7.1-fpm.sock|fcgi://localhost/"
    </FilesMatch>
    ErrorLog ${APACHE_LOG_DIR}/app1-error.log
    CustomLog ${APACHE_LOG_DIR}/app1-access.log combined    
</VirtualHost>

标签: phpapacheenvironment-variablesvhosts

解决方案


推荐阅读