我正在通过RUNNING.txt文件来安装Tomcat。 它说: (3.1) Set CATALINA_HOME (required) and CATALINA_BASE (optional) The CATALINA_HOME environment variable should be set to the location of the root directory of the "binary" distribution of Tomcat. 所以我知道我可以做 export CATALINA_HOME=/usr/local/tomcat 但是下次重新启动机器时就不会这样了。 我应该把这些在根帐户.bashrc或.bash_profile或其他地方?
一个PHP应用程序需要我设置几个环境variables,如数据库凭证,SMTP服务器等。 variables的例子包括: FOO_DATABASE_URL=mysql://user:pass@host:3306/dbname FOO_SMTP_SERVER=smtp://user:pass@host:25 FOO_FILE_PATH=/var/www/foo FOO_URL_HOST=example.org FOO_URL_PATH=/foo 哪里可以设置这些variables? 最初我尝试在~/.profile设置它们,但是我意识到我并不是Apache运行的用户,所以这是行不通的。 我find了/etc/environment但我不确定这是否适合设置它们。 目前这里只有PATH 。 如果我只在这里设置,我需要在输出前面添加行吗? 该文档指出ENV文件应该在生产中避免,以最大限度地提高性能。 如果可能的话,我也想避免使用Apache的PassEnv和PassEnv指令。 我的生产服务器是CentOS,但是我想知道如何在Linux Mint和Ubuntu上做到这一点,即使我目前使用ENV文件进行开发。
据我所知,用户variables(当前login的用户)存储在HKEY_CURRENT_USER\Environment 。 用户pathvariables存储在HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Explorer\Shell Folders ,系统variables存储在HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Session Manager\Environment 。 感谢这个来源 我正在尝试读取所有现有用户的环境variables%APPDATA% 。 我的python script正在executed与system rights 。 可以使用os.environ()读取环境variables。 但我没有find任何文档,哪些环境variables被读取(当前login的用户variables或系统variables)。 那么是否有可能读取所有现有用户的user path variables ? 谢谢你的帮助!
我在Docker容器中运行php7-fpm。 但是我的PHP脚本不能访问我的docker-compose文件中设置的环境variables。 getenv('MY_ENV_VAR')返回FALSE 。 我已经改变了/etc/php/7.0/fpm/pool.d/www.conf以包括clear_env = no并重新启动与service php7.0-fpm restart但我的环境variables开始不存在。 我也尝试编辑/etc/php/7.0/fpm/php.ini包含行variables_order = "EGPCS" 。 当我进入我的容器上的bash shell时,我可以看到我的variables存在。 这只是他们不能在我的PHP脚本访问。 我错过了什么?
我是Linux新手,正在尝试使用环境variables来configurationHAProxy。 我正在运行Debian 8(Jessie)和HAProxy 1.5.8,我使用apt-get安装,按照https://haproxy.debian.net/#?distribution=Debian&release=jessie&version=1.5 没有环境variables,configuration工作非常好。 我遵循这个答案 (从/etc/init.d/haproxy设置环境variables)的指示来获取环境variables的工作,但仍然得到了503 – 服务不可用的响应。 然后我查看了/etc/init.d/haproxy并认为这两行可能会改变可用variables的范围 [ -f /etc/default/rcS ] && . /etc/default/rcS . /lib/lsb/init-functions 所以我评论他们。 然后我可以启动HAProxy使用sudo /etc/init.d/haproxy start ,我的configuration工作正如我所料,但是当我尝试运行sudo service haproxy start我仍然得到503 – 服务不可用。 在我看来, 这个问题有我正在寻找的答案,但我还没有能够把答案从那里翻译到我的域名。 这是我使用环境variables的haproxy.cfg文件的一部分: backend backend1 server EnvVar ${SERVER_IP}:86 maxconn 512 我也在这里查看了一些其他的问题,但没有find解决我的问题的办法。 当haproxy作为服务运行时,如何设置环境variables以便haproxy可以读取它?
当我在我的FreeBSD服务器的ssh上工作时,总是假定terminal宽度是80列。 例如,手册页显示在一个精简列中,所有使用COLUMNS和LINES环境variables的程序只能猜测80个默认列中的terminal大小。 有没有什么办法让tcsh正确设置这个环境variables并将它们发送给子程序?
我知道我可以修改/ etc / profile ..但是有没有更好的方法? 我知道/ etc / profile会影响terminal,但我希望所有进程都受到影响。 crontab,服务pipe理器,启动脚本等。 编辑:我有一个答案编辑的Cron的path..但仍然希望启动脚本和可执行文件被调用服务pipe理。
在OS X 10.7上使用PHP 5.3作为Apache 2的Apache模块。 当我打开terminal并inputecho $PATH我得到: /opt/local/bin:/opt/local/sbin:/opt/local/bin:/opt/local/sbin:/usr/bin:/bin:/usr/sbin:/sbin:/usr/local/bin:/usr/X11/bin:/usr/local/imagemagick/bin 但是当我在PHP中运行getevn('PATH') ,我得到: /usr/bin:/bin:/usr/sbin:/sbin 这意味着在PHP中exec()大部分调用无法find我想要的命令/二进制文件。 我已经在httpd.conf尝试了这两个: SetEnv PATH /opt/local/bin:/opt/local/sbin:/opt/local/bin:/opt/local/sbin:/usr/bin:/bin:/usr/sbin:/sbin:/usr/local/bin:/usr/X11/bin:/usr/local/imagemagick/bin PassEnv PATH 没有任何效果。 如何获取PHP / Apache的PATHvariables来镜像我的用户PATHvariables? (理想情况下,如果我改变了Apache的话,也不需要手动改变。)
我使用Shibbolethv2.3与Apache Web服务器和Tomcat应用程序服务器。 我使用mod_proxy.so作为反向代理使用Apache。 我无法将Apache的Shibboleth环境variables转发给Tomcat。 我能够转发标题中的属性,但正如wiki中已经提到的,这种方法是不安全的。 我试图通过下面的指令转发环境variables: SetEnv AJP_username $ {username} 然后在Java端,我可以通过以下方式访问该属性:request.getAttribute(“username”); 这里奇怪的是,我得到了不同的价值,而不是Shibboleth设定的价值。 我得到了Windows帐户名称。 如果我使用任何其他属性名称,我得到一个空值。 我搜查了很多,已经用完了。 请指导我find正确的解决scheme。 我的设置细节: Shibboleth版本:2.3 操作系统:Windows XP SP3 networking服务器:Apache 2.2 应用程序服务器:Tomcat 6 代理模块:mod_proxy.so
在Debian上,我使用pserve为Pyramid应用程序编写了一个简单的初始化脚本。 我不是100%肯定它是完整的/正确的,但是现在可以工作: DAEMON="/home/project/.virtualenvs/project/bin/pserve /home/project/production.ini" PIDFILE=/home/project/project.pid USER=project GROUP=project CWD=/home/project LOGFILE=/home/project/project.appserver.log case "$1" in start|stop|restart|status) echo "$1 project app server: " cd $CWD $DAEMON $1 –pid-file=$PIDFILE –user=$USER –group=$GROUP –log-file=$LOGFILE RETVAL=$? if [ "$RETVAL" -eq "0" ]; then echo "Success" fi ;; *) echo "Usage: /etc/init.d/project {start|stop|restart|status}" exit 1 ;; esac exit 0 当我以root身份login时,我可以运行以下内容而不会出现问题: ~# service project start […]