好得很程序员自学网
  • 首页
  • 后端语言
    • C#
    • PHP
    • Python
    • java
    • Golang
    • ASP.NET
  • 前端开发
    • Angular
    • react框架
    • LayUi开发
    • javascript
    • HTML与HTML5
    • CSS与CSS3
    • jQuery
    • Bootstrap
    • NodeJS
    • Vue与小程序技术
    • Photoshop
  • 数据库技术
    • MSSQL
    • MYSQL
    • Redis
    • MongoDB
    • Oracle
    • PostgreSQL
    • Sqlite
    • 数据库基础
    • 数据库排错
  • CMS系统
    • HDHCMS
    • WordPress
    • Dedecms
    • PhpCms
    • 帝国CMS
    • ThinkPHP
    • Discuz
    • ZBlog
    • ECSHOP
  • 高手进阶
    • Android技术
    • 正则表达式
    • 数据结构与算法
  • 系统运维
    • Windows
    • apache
    • 服务器排错
    • 网站安全
    • nginx
    • linux系统
    • MacOS
  • 学习教程
    • 前端脚本教程
    • HTML与CSS 教程
    • 脚本语言教程
    • 数据库教程
    • 应用系统教程
  • 新技术
  • 编程导航
    • 区块链
    • IT资讯
    • 设计灵感
    • 建站资源
    • 开发团队
    • 程序社区
    • 图标图库
    • 图形动效
    • IDE环境
    • 在线工具
    • 调试测试
    • Node开发
    • 游戏框架
    • CSS库
    • Jquery插件
    • Js插件
    • Web框架
    • 移动端框架
    • 模块管理
    • 开发社区
    • 在线课堂
    • 框架类库
    • 项目托管
    • 云服务

当前位置:首页>CMS系统>Dedecms
<tfoot draggable='sEl'></tfoot>

php获取env配置 php读取ini配置文件

很多站长朋友们都不太清楚php获取env配置,今天小编就来给大家整理php获取env配置,希望对各位有所帮助,具体内容如下:

本文目录一览: 1、 Laravel 中的 config/app.php 和 env 关系是怎样的 2、 $_ENV是干什么用的? 3、 laravel env获取不到值 4、 php 服务器变量$_SERVER 服务器环境变量 $_ENV 5、 如何让PHP能够读取系统环境变量 Laravel 中的 config/app.php 和 env 关系是怎样的

app.php 中通过env(key,defaultValue)函数读取.env文件中对应的配置值,如果没有读取到指定key的配置,那么使用defaultValue作为默认值

$_ENV是干什么用的?

PHP中的$_ENV是一个包含服务器端环境变量的数组。它是PHP中一个超级全局变量,我们可以在PHP 程序的任何地方直接访问它。

$_ENV只是被动的接受服务器端的环境变量并把它们转换为数组元素,你可以尝试直接输出它。

当你想看看一个变量中究竟有什么东西在里面时,我所知道的方式有三种:

1、var_dump($_ENV);

2、print_r($_ENV);

3、foreach($_ENV as $key=>$val){echo $key.'--------'.$val.'<br>';}

这三种方式中,第一种我觉得最方便而且输出的内容格式清晰。

由于$_ENV变量是取决于服务器的环境变量的,从不同的服务器上获取的$_ENV变量打印出的结果可能是完全不同的。所以无法像$_SERVER 那样列出完整的列表。以下是$_ENV 数组包含的比较通用的元素:

有时候,$_ENV会为空,其原因通常是php的配置文件php.ini的配置项为:variables_order = "GPCS"。要想让$_ENV的值不为空,那么variables_order的值应该加上一个大写字母“E”,即:variables_order = "EGPCS"。

上述配置表示了PHP接受的外部变量来源及顺序,EGPCS是Environment、Get、Post、Cookies、Server的缩写。如果variables_order 的配置中缺少E ,则PHP 无法接受环境变量,那么$_ENV 也就为空了。

由于开启$_ENV,即variables_order = "EGPCS"会导致一些性能损失,按php官方的说法是,在生产环境中,不推荐使用。他们更推荐使用getenv (string $varname)函数来获取Environment中的值,而这点需要在编程时就注意到。如果编程时用了$_ENV而variables_order中又没有配置为variables_order = "EGPCS",则程序运行时可能会报错。

laravel env获取不到值

亲,你是通过什么上传到虚拟主机的?

如果是git clone 方式过去的,是没有.env文件的,你需要将自己项目中的.env.example文件复制一份到.env文件才行的。

你可以登录虚拟主机进入自己的laravel 项目,然后使用 ls -a 命令查看一下是不是没有.env 文件。

php 服务器变量$_SERVER 服务器环境变量 $_ENV

PHP  $_SERVER 变量

$_SERVER 是一个包含诸如头信息(header)、路径(path)和脚本位置(script locations)的数组。它是 PHP 中一个超级全局变量,我们可以在 PHP 程序的任何地方直接访问它。

$_SERVER 包含着众多的信息,你可以尝试直接打印它:

print_r($_SERVER);

$_SERVER 数组元素

更多情况下,我们只需要 $_SERVER 数组中的某些元素(数组单元)。$_SERVER 数组包含的元素如下:

页面程序相关

$_SERVER[‘PHP_SELF’]:相对于网站根目录的路径及 PHP 程序名称,与 document root 相关。

$_SERVER[‘HTTP_REFERER’]:链接到当前页面的前一页面的 URL 地址。

$_SERVER[‘SCRIPT_NAME’]:相对于网站根目录的路径及 PHP 程序文件名称 。

$_SERVER[‘REQUEST_URI’]:访问此页面所需的 URI 。

$_SERVER[‘SCRIPT_FILENAME’]:当前运行 PHP 程序的绝对路径及文件名。

$_SERVER[‘PATH_TRANSLATED’]:当前 PHP 程序所在文件系统(不是文档根目录)的基本路径。

$_SERVER[‘QUERY_STRING’]:查询(query)的字符串(URL 中第一个问号 ? 之后的内容但不包括 # 后面的内容)。

$_SERVER[‘argv’]:传递给当前 PHP 程序的参数。

$_SERVER[‘argc’]:命令行模式下,包含传递给程序的命令行参数的个数。

$_SERVER[‘REQUEST_TIME’]:请求开始时的时间戳,从 PHP 5.1.0 起有效。

$_SERVER[‘REQUEST_METHOD’]:访问页面时的请求方法,例如:“GET”、“HEAD”,“POST”或“PUT”。

$_SERVER[‘HTTP_ACCEPT’]:当前请求的 Accept: 头信息的内容。

$_SERVER[‘HTTP_ACCEPT_CHARSET’]:当前请求的 Accept-Charset: 头信息的内容。例如:“iso-8859-1,*,utf-8”。

$_SERVER[‘HTTP_ACCEPT_ENCODING’]:当前请求的 Accept-Encoding: 头信息的内容。例如:“gzip”。

$_SERVER[‘HTTP_ACCEPT_LANGUAGE’]:当前请求的 Accept-Language: 头信息的内容。例如:“zh-cn”。

$_SERVER[‘HTTP_CONNECTION’]:当前请求的 Connection: 头信息的内容。例如:“Keep-Alive”。

$_SERVER[‘HTTP_HOST’]:当前请求的 Host: 头信息的内容。

$_SERVER[‘HTTPS’]:如果 PHP 程序是通过 HTTPS 协议被访问,则被设为一个非空的值。

$_SERVER[‘PHP_AUTH_DIGEST’]:当作为 Apache 模块运行时,进行 HTTP Digest 认证的过程中,此变量被设置成客户端发送的“Authorization”HTTP 头内容(以便作进一步的认证操作)。

$_SERVER[‘PHP_AUTH_USER’]:当 PHP 运行在 Apache 或 IIS(PHP 5 是 ISAPI)模块方式下,并且正在使用 HTTP 认证功能,这个变量便是用户输入的用户名。

$_SERVER[‘PHP_AUTH_PW’]:当 PHP 运行在 Apache 或 IIS(PHP 5 是 ISAPI)模块方式下,并且正在使用 HTTP 认证功能,这个变量便是用户输入的密码。

$_SERVER[‘AUTH_TYPE’]:当 PHP 运行在 Apache 模块方式下,并且正在使用 HTTP 认证功能,这个变量便是认证的类型。

服务器端相关

$_SERVER[‘DOCUMENT_ROOT’]:当前运行 PHP 程序所在的文档根目录,在服务器配置文件中定义。

$_SERVER[‘GATEWAY_INTERFACE’]:服务器使用的 CGI 规范的版本,例如:“CGI/1.1”。

$_SERVER[‘SERVER_ADDR’]:当前运行 PHP 程序所在的服务器的 IP 地址。

$_SERVER[‘SERVER_NAME’]:当前运行 PHP 程序所在的服务器的名称。

$_SERVER[‘SERVER_ADMIN’]:Apache 服务器配置文件中的 SERVER_ADMIN 参数。

$_SERVER[‘SERVER_PORT’]:服务器所使用的端口。如果使用 SSL 安全连接,则这个值为用户设置的 HTTP 端口。

$_SERVER[‘SERVER_SIGNATURE’]:包含服务器版本和虚拟主机名的字符串。

$_SERVER[‘SERVER_SOFTWARE’]:服务器标识的字串,在响应请求时的头信息中给出。

$_SERVER[‘SERVER_PROTOCOL’]:请求页面时通信协议的名称和版本,例如:“HTTP/1.0”。

其他杂项

$_SERVER[‘HTTP_USER_AGENT’]:当前请求的 User-Agent: 头信息的内容,该字符串表明了访问该页面的用户代理的信息。

$_SERVER[‘REMOTE_ADDR’]:正在浏览当前页面用户的 IP 地址。

$_SERVER[‘REMOTE_HOST’]:正在浏览当前页面用户的主机名。

$_SERVER[‘REMOTE_PORT’]:用户连接到服务器时所使用的端口。

注意,如果以命令行方式运行 PHP,上面列出的元素几乎没有有效的(或是没有任何实际意义的)。

PHP $_ENV 变量

$_ENV 是一个包含服务器端环境变量的数组。它是 PHP 中一个超级全局变量,我们可以在 PHP 程序的任何地方直接访问它。

$_ENV 只是被动的接受服务器端的环境变量并把它们转换为数组元素,你可以尝试直接打印它:

print_r($_ENV);

限于篇幅,在此不再列出打印的结果,且不同的服务器上,打印出的结果可能是完全不同的。

$_ENV 数组元素

$_ENV 数组中的元素(数组单元)随服务器环境不同而有较大差异,所以无法像 $_SERVER 那样列出完整的列表。以下是 $_ENV 数组包含的比较通用的元素:

$_SERVER[‘PATH’]:环境变量 PATH 路径。

$_SERVER[‘CLASSPATH’]:系统 CLASSPATH 路径。

$_SERVER[‘LIB’]:系统 LIB 库路径。

$_SERVER[‘INCLUDE’]:系统 Include 路径,注意与 PHP 的包含路径是不一样的。

$_SERVER[‘OS’]:操作系统类型。

$_SERVER[‘LANG’]:系统语言,如 en_US 或 zh_CN。

$_SERVER[‘PWD’]:当前工作目录。

$_SERVER[‘TEMP’]:系统 TEMP 路径。

$_SERVER[‘AP_PARENT_PID’]:当前进程 ID 号。

$_SERVER[‘NUMBER_OF_PROCESSORS’]:系统 CPU 数目。

$_ENV 为空的原因及解决办法

如果打印输出 $_ENV 为空,可以检查一下 php.ini 的配置:

variables_order = "EGPCS"

上述配置表示 PHP 接受的外部变量来源及顺序,EGPCS 是 Environment、Get、Post、Cookies 和 Server 的缩写。如果 variables_order 的配置中缺少 E ,则 PHP 无法接受环境变量,那么 $_ENV 也就为空了。

如何让PHP能够读取系统环境变量

一般情况下,都能实现显示phpinfo()的页面。就从能够显示该页面之后出现的问题说起。php的问题都会显示在phpinfo()页面上。首先查看自己的php.ini的路径是否正确。Q:我已经配置了php.ini文件,但重新启动服务器后为什么没有任何效果?A:这个问题主要有这几种情况。第一个原因是由于系统所读取的php.ini文件与你当时修改的php.ini文件不一致造成的1、 可以通过phpinfo()的Configuration File (php.ini) Path选项查看当前PHP服务器读取的是哪一个php.ini2、 如果你要更改php.ini的文件存取位置,可参考php.ini的搜索顺序,如下所示:a) SAPI 模块所指定的位置(Apache 2 中的 PHPIniDir 指令,CGI 和 CLI 中的 -c 命令行选项,NSAPI 中的 php_ini 参数,THTTPD 中的 PHP_INI_PATH 环境变量)b) HKEY_LOCAL_MACHINESOFTWAREPHPIniFilePath(Windows 注册表位置)c) PHPRC 环境变量d) 当前工作目录(对于 CLI)e) web 服务器目录(对于 SAPI 模块)或 PHP 所在目录(Windows 下其它情况)f) Windows 目录(C:windows 或 C:winnt),或 --with-config-file-path 编译时选项指定的位置3、 一般做法:通过设置PHPRC 环境变量,a) 操作:右击我的电脑->属性->高级->环境变量b) 在系统变量下新建一个“变量名为PHPRC ,变量值为你的php.ini文件所地文件路径”的环境变量第二个原因是:PHP没有找到相应的扩展库1、 查看PHP找到的扩展库位置:在phpinfo()的extension_dir选项可以看到2、 在php.ini更改extension_dir文件第三个原因:没有完全重启IIS1、 对php.ini的修改必须完全重启IIS才能起作用,而不能只是对当前站点进行重启。2、 进入cmd,停止服务器:net stop iisadmin;启动服务器:net start w3svcQ:我的PHP怎么没有办法激活MySql扩展库A:在PHP5.0以上版本,MySQL 默认未启用,因此需要咱们进行手工激活。1、 在PHP运行MySql,必须在 php.ini 中激活 php_mysql.dll 动态连接库,另外还需要访问 MySQL 客户端连接库即libmysql.dll文件2、 可以通过php.ini中的extension激活 php_mysql.dll 动态连接库;而libmysql.dll文件必须放在Windows 的系统路径 PATH才能访问,可以通过把libmysql.dll复制到system32目录下,也可以在PATH环境变量中新增一个路径。3、 建议做法:通过设置PATH,方便以后的php升级,在系统环境变量中的PATH后增加“libmysql.dll”所在的文件夹即可。记得通过“;”号隔开4、 [案例]最近,服务器总是找不到MySql扩展库,导致程序无法运行。因此,把所有文件删除后重新配置PHP服务器。但最后在安装MySql的时候,却始终无法激活MySql扩展库。在phpinfo()中找到的信息如下:PATH:c:phpPHPRC:C:phpextension_dir:c:phpext另外,我测试了将其它的库激活,如msql、gd2、xml,在phpinfo()都可以正常显示证明PHP能找到php_mysql.dll 动态连接库,而MySql的运行的另一个条件是能够讯问MySQL 客户端连接库即libmysql.dll文件,看来问题就在这里了。我对C盘搜索libmysql.dll文件,发现在system32和php文件夹各有一个文件,做好备份后,我尝试删除system32的libmysql.dll文件,发现被锁死,无法删除,却可以重新命名,我随便修改了名称,再重新启动IIS,服务器运行正常。补充一点:如果Configuration File (php.ini) Path 显示为C:Windows就说明,php.ini文件没有读取到。另外,我发现,在用IIS整合php时,有两种方式:ISAPI与CGI模式这两种方式,我们都可以看到phpinfo页面但是使用ISAPI模式,无法读取环境变量,所以通过环境变量PHPRC设置的php.ini路径无法找到。使用CGI就可以,这样就不必把好多文件拷到系统文件下。

关于php获取env配置的介绍到此就结束了,不知道本篇文章是否对您有帮助呢?如果你还想了解更多此类信息,记得收藏关注本站,我们会不定期更新哦。

查看更多关于php获取env配置 php读取ini配置文件的详细内容...

声明:本文来自网络,不代表【好得很程序员自学网】立场,转载请注明出处:http://haodehen.cn/did168653
更新时间:2023-04-11   阅读:79次

上一篇: php的web案例 php web程序设计与项目案例开发微课版

下一篇:php框架引入模板 php框架基础教程

相关资讯

最新资料更新

  • 1.Dedecms中常用数据调用的sql语句汇总
  • 2.删除织梦所有待审核稿件sql语句(未审核数据将全部删除)
  • 3.dedecms部分文章出现读取附加信息出错的解决办法
  • 4.织梦dedecms内页、详情页中调用文章作者信息的方法
  • 5.对于织梦CMS各目录内文件的说明详解
  • 6.解决dedecms多域名和站点的绑定的问题
  • 7.DedeCMS调用相关文章likearticle附加自定义字段
  • 8.dedeCMS使用arclist标签调用自定义字段的方法
  • 9.织梦DEDECMS分表迁移内容模型转入新建模型的方法
  • 10.dedecms中调用隐藏栏目的方法
  • 11.Dedecms文章标题及文章摘要长度修改的方法
  • 12.Dedecms文章设置推荐后列表页标题自动加粗的解决方法
  • 13.DEDECMS JSON数据生成 DEDECMS JSON接口制作
  • 14.dedecms判断二级栏目为空不显示的方法
  • 15.DEDECMS解析模板之灵活应用视图类
  • 16.织梦(dedecms)循环调用多级子栏目如二级栏目下三级栏目
  • 17.Dedecms获取登录用户名与ID号的方法
  • 18.Dedecms提示信息及提示内容的修改方法
  • 19.织梦DEDECMS模板全站动态浏览怎么实现
  • 20.织梦在导航栏下拉菜单中调用当前栏目子类的方法

CopyRight:2016-2025好得很程序员自学网 备案ICP:湘ICP备09009000号-16 http://haodehen.cn
本站资讯不构成任何建议,仅限于个人分享,参考须谨慎!
本网站对有关资料所引致的错误、不确或遗漏,概不负任何法律责任。
本网站刊载的所有内容(包括但不仅限文字、图片、LOGO、音频、视频、软件、程序等)版权归原作者所有。任何单位或个人认为本网站中的内容可能涉嫌侵犯其知识产权或存在不实内容时,请及时通知本站,予以删除。

网站内容来源于网络分享,如有侵权发邮箱到:kenbest@126.com,收到邮件我们会即时下线处理。
网站框架支持:HDHCMS   51LA统计 百度统计
Copyright © 2018-2025 「好得很程序员自学网」
[ SiteMap ]