很多php同学经常会问到如何在我们的开发环境中使用php中的$_ENV 环境变量功能,以下步骤操作即可实现
1、在我们的php-fpm服务启动脚本(/etc/init.d/php-fpm)中添加
source /etc/profile
文件段如下:
点击(此处)折叠或打开
- #! /bin/sh
- ### BEGIN INIT INFO
- # Provides: php-fpm
- # Required-Start: $remote_fs $network
- # Required-Stop: $remote_fs $network
- # Default-Start: 2 3 4 5
- # Default-Stop: 0 1 6
- # Short-Description: starts php-fpm
- # Description: starts the PHP FastCGI Process Manager daemon
- ### END INIT INFO
- prefix=@prefix@
- exec_prefix=@exec_prefix@
- #php_fpm_BIN=@sbindir@/php-fpm
- #php_fpm_CONF=@sysconfdir@/php-fpm.conf
- #php_fpm_PID=@localstatedir@/run/php-fpm.pid
- php_fpm_BIN=/usr/local/php/sbin/php-fpm
- php_fpm_CONF=/usr/local/php/etc/php-fpm.conf
- php_fpm_PID=/usr/local/php/var/run/php-fpm.pid
- php_opts="--fpm-config $php_fpm_CONF"
- source /etc/profile
- wait_for_pid () {
- try=0
- while test $try -lt 35 ; do
- case "$1" in
- 'created')
- if [ -f "$2" ] ; then
- try=''
- break
- fi
- ;;
- 'removed')
- if [ ! -f "$2" ] ; then
- try=''
- break
- fi
- ;;
- esac
- echo -n .
- try=`expr $try + 1`
- sleep 1
- done
- }
- case "$1" in
- start)
- echo -n "Starting php-fpm "
- $php_fpm_BIN $php_opts
- if [ "$?" != 0 ] ; then
- echo " failed"
- exit 1
- fi
- wait_for_pid created $php_fpm_PID
- if [ -n "$try" ] ; then
- echo " failed"
- exit 1
- else
- echo " done"
- fi
- ;;
- stop)
- echo -n "Gracefully shutting down php-fpm "
- if [ ! -r $php_fpm_PID ] ; then
- echo "warning, no pid file found - php-fpm is not running ?"
- exit 1
- fi
- kill -QUIT `cat $php_fpm_PID`
- wait_for_pid removed $php_fpm_PID
- if [ -n "$try" ] ; then
- echo " failed. Use force-quit"
- exit 1
- else
- echo " done"
- fi
- ;;
- force-quit)
- echo -n "Terminating php-fpm "
- if [ ! -r $php_fpm_PID ] ; then
- echo "warning, no pid file found - php-fpm is not running ?"
- exit 1
- fi
- kill -TERM `cat $php_fpm_PID`
- wait_for_pid removed $php_fpm_PID
- if [ -n "$try" ] ; then
- echo " failed"
- exit 1
- else
- echo " done"
- fi
- ;;
- restart)
- $0 stop
- $0 start
- ;;
- reload)
- echo -n "Reload service php-fpm "
- if [ ! -r $php_fpm_PID ] ; then
- echo "warning, no pid file found - php-fpm is not running ?"
- exit 1
- fi
- kill -USR2 `cat $php_fpm_PID`
- echo " done"
- ;;
- *)
- echo "Usage: $0 {start|stop|force-quit|restart|reload}"
- exit 1
- ;;
- esac
export MY_REDIS_HOST="localhost"
每一行一个。
3、修改php配置在php.ini中的
variables_order = "EGPCS"
4、修改php-fpm.conf配置添加如下:
include=/usr/local/php/etc/php-fpm.d/*.conf
5、添加PHP环境变量测试
]#echo “env[MY_REDIS_HOST]=$MY_REDIS_HOST” > /usr/local/php/etc/php-fpm.d/php-fpm.env.conf
6、重启php-fpm服务
service php-fpm restart
以上操作已经完成添加MY_REDIS_HOST 的值为localhost
可以通过以下test.php进行测试
点击(此处)折叠或打开
- <?php
- echo getenv(MY_REDIS_HOST );
- ?>