如何让PHP能够读取系统环境变量?
一、fpm模式
1、通过服务器传递
如在nginx的配置里设置:
fastcgi_param ENV_XXX 123456;
每次页面请求nginx都会将此变量传递给php,php可以通过getenv函数或$_SERVER全局变量获得。
2、通过fpm配置传递
fpm在每次启动时都会读取php-fpm.conf文件中的环境变量设置,如:
env[ENV_XXX]="test test"
或者让fpm读取系统环境变量,如:
env[ENV_XXX]=$ENV_XXX
注意此种方式要确保系统环境变量存在,且不被sudo禁用。
如果fpm是用sudo方式启动,默认sudo会禁用一些环境变量,可以通过以下方式放开限制:
vim /etc/sudoers
Defaults env_reset
Defaults env_keep = "ENV_XXX"
或者干脆放开所有限制:
Defaults !env_reset
最后,如果修改了php-fpm.conf中的设置需要重启fpm才能生效,同样php可以通过getenv函数或$_SERVER全局变量获得环境变量。
二、命令行模式
命令行模式限制较少,可以通过getenv函数或$_SERVER全局变量获取对当前执行用户有效的系统环境变量,同样要注意sudo的限制。
如何基于PHP和mysql设计一个完整oauth2认证单点登陆?
然后你需要安装Composer,确保composer在你的环境变量下,在命令行里面输入composer about验证一下安装完成后cd到lumen-api-starter文件夹下,复制.env.example重命名为.env进行设置,APP_KEY必须是32位的
bookstack安装教程?
1.安装必要组件
需要安装一些必要的组件,这些组件在运行bookstack系统中是必须的,包括:Apache2(或者Nginx)、MySQL数据库、PHP 5.6及以上以及composer等。
2.安装Bookstack
接下来你需要下载Bookstack(下载地址:),下载完成后解压到您想要放置Bookstack系统的文件夹中,然后打开Terminal,进入Bookstack系统文件夹,输入以下命令:
$composer install
该命令会在您的服务器上安装所有必要的依赖文件,并且会为您准备好运行Bookstack系统所需的文件。
3.配置Bookstack
接下来,你需要对Bookstack系统进行配置,首先你需要复制.env.example文件,将其重命名为.env,然后在该文件中填入您的数据库配置信息,包括用户名、密码和数据库名称等信息。
4.完成安装
完成后,使用以下命令来完成Bookstack系统的安装:
$php artisan migrate
安装完成后,您可以使用以下命令来创建一个初始用户,以便登录bookstack系统:
$php artisan bookstack:admin
完成上述步骤后,使用刚才设置的用户名和密码登录Bookstack系统,然后开始使用Bookstack系统。

