rmunate/info-server

此包已被弃用,不再维护。未建议替代包。

系统库允许您查询与现有服务器端变量、值和配置(服务器变量、环境变量、PHP 值和配置)相关的所有信息。它提供了一种简单方便的方式与服务器数据交互。

v2.3.0 2023-09-08 18:32 UTC

This package is auto-updated.

Last update: 2024-01-07 19:22:53 UTC


README

此包允许您访问与服务器端变量、值和配置(服务器变量、环境变量、PHP 值及其配置)相关的所有信息。它提供了一种简单方便的方式与服务器数据交互。

⚙️ 此库与 Laravel 版本 8.0 及以上兼容 ⚙️

Laravel 8.0+ Laravel 9.0+ Laravel 10.0+

logo-info-server

📖 西班牙语文档 📖

目录

安装

要使用 Composer 安装此包,请执行以下命令

composer require rmunate/info-server

可用方法

PHP 信息

方法 描述和返回
PHP::uname() 检索 PHP 运行的操作系统。
PHP::version() 以 "major.minor.edition[extra]" 表示法检索当前 PHP 版本。
PHP::majorversion() 检索当前 PHP 的 "major version",以整数值表示(例如,版本 "5.2.7-extra" 中的 int(5))。
PHP::minorVersion() 以整数值检索当前 PHP 的 "minor version"(例如,版本 "5.2.7-extra" 中的 int(2))。
PHP::releaseVersion() 检索 PHP 的发布版本。
PHP::versionId() 检索 PHP 版本 id。
PHP::extraVersion() 检索 PHP 的 "extra" 版本作为字符串(例如,版本 "5.2.7-extra" 中的 "-extra")。通常由发行商用于表示包版本。
PHP::maxpathlen() 检索 PHP 构建支持的文件(包括目录)名称的最大长度。
PHP::os() 检索 PHP 构建的操作系统。
PHP::osFamily() 检索 PHP 构建的操作系统家族。可以是 'Windows'、'BSD'、'OSX'、'Solaris'、'Linux' 或 'Unknown'。自 PHP 7.2.0 起可用。
PHP::intMax() 检索在此 PHP 构建中支持的最大的整数。在 32 位系统上通常是 int(2147483647),在 64 位系统上通常是 int(9223372036854775807)。
PHP::intMin() 检索在此 PHP 构建中支持的最小整数。在 32 位系统上通常是 int(-2147483648),在 64 位系统上通常是 int(-9223372036854775808)。通常,PHP_INT_MIN === ~PHP_INT_MAX。
PHP::intSize() 检索在此 PHP 构建中整数的字节大小。
PHP::floatDig() 检索可以四舍五入并反转而不丢失精度的浮点数中的十进制位数。自 PHP 7.2.0 起可用。
PHP::floatEpsilon() 检索最小的正浮点数 x,使得 x + 1.0 != 1.0。自 PHP 7.2.0 起可用。
PHP::floatMin() 获取可以表示的最小正浮点数。要获取可以表示的最小负浮点数,请使用 -PHP_FLOAT_MAX。自 PHP 7.2.0 版本起可用。
PHP::floatMax() 获取可以表示的最大浮点数。自 PHP 7.2.0 版本起可用。
PHP::getIniSettings() 获取 PHP 配置(php.ini 设置)的完整信息。返回包含配置设置的关联数组或错误时返回 null。
PHP::getActiveExtensions() 获取活动 PHP 扩展的列表。返回包含活动扩展名称的数组或错误时返回 null。

使用示例

use Rmunate\InfoServer\Wrappers\PHP;

PHP::floatMin(); 
//2.2250738585072E-308

PHP::intMax(); 
//9223372036854775807

PHP::version()
//"8.1.21"

环境变量

检索环境变量中的任何可用值并验证变量是否存在。

方法 描述和返回
Environment::has($key) 确定给定的配置值是否存在。
Environment::get($key, $default = null) 获取具有给定键的环境变量。如果未找到,则返回默认值(如果提供)。
Environment::all() 获取所有环境变量。

使用示例

use Rmunate\InfoServer\Wrappers\Environment;

Environment::has("APP_NAME"); 
//true

Environment::get("APP_NAME","UNDEFINED"); 
//CODE MAESTRO

Environment::all()
// {#401 ▼ // routes/web.php:45
//   +"APP_NAME": "CODE MAESTRO"
//   +"APP_KEY": "base64:c3FCNjkhomKMSHgE5gxF5gy7qrswb77iFXUA1YvGvJE="
//   +"APP_DEBUG": "true"
//   +"APP_URL": "https://"
//   ...

服务器信息

最后,您有一系列方法来了解服务器值。

方法 描述
Server::has($variable) 验证特定服务器变量是否已定义。
Server::get($variable) 获取特定服务器变量的值。
Server::all() 所有 $_SERVER 数据变量。
Server::user() 如果可用,获取运行 PHP 脚本的用户。
Server::home() 如果可用,获取用户的家目录。
Server::scriptName() 获取当前脚本的路径和名称。对于自引用页面非常有用。
Server::requestUri() 获取访问页面的 URI。
Server::queryString() 如果可用,获取当前请求的查询字符串。
Server::requestMethod() 获取访问页面的请求方法。
Server::protocol() 获取请求页面的信息协议的名称和修订号。
Server::gatewayInterface() 获取服务器使用的 CGI 规范修订版。
Server::redirectUrl() 如果可用,获取重定向后的 URL。
Server::remotePort() 获取用户机器与 Web 服务器通信所使用的端口号。
Server::scriptFilename() 获取当前运行的脚本的绝对路径和名称。
Server::admin() 获取服务器配置文件中 SERVER_ADMIN 指令的值(来自 Apache)。如果脚本在虚拟主机上运行,则值将是为该虚拟主机定义的值。
Server::contextDocumentRoot() 获取当前脚本(不带尾部斜杠)的文档根。
Server::contextPrefix() 新版本 Apache 的无文档方法。
Server::requestScheme() 获取请求中使用的方案,可以是 "HTTP" 或 "HTTPS"。
Server::documentRoot() 获取服务器配置文件中定义的服务器根目录。
Server::remoteAddr() 获取当前用户查看页面的 IP 地址。
Server::port() 获取用于通信的服务器端口号。默认情况下,该值将为 '80'。如果使用 SSL,例如,此值将更改为为安全 HTTP 端口定义的值。
Server::addr() 获取脚本当前运行的服务器 IP 地址。
Server::name() 获取当前脚本正在运行的服务器名称。如果脚本在虚拟主机上运行,则值为该虚拟主机定义的值。
Server::software() 获取响应头中提供的服务器软件标识字符串。
Server::signature() 获取包含服务器版本和虚拟主机名称的服务器签名字符串。如果启用此功能,则将其添加到服务器生成的页面中。
Server::path() 获取PATH环境变量的值。返回用户代理发送的'Cookie'头部的原始值。
Server::httpCookie() 获取用户代理发送的'Cookie'头部。
Server::httpAcceptLanguage() 获取当前请求的'Accept-Language'头部,如果可用。
Server::httpAcceptEncoding() 获取当前请求的'Accept-Encoding'头部,如果可用。
Server::httpSecFetchDest() 获取当前请求的'Sec-Fetch-Dest'头部,如果可用。
Server::httpSecFetchUser() 获取当前请求的'Sec-Fetch-User'头部,如果可用。
Server::httpSecFetchMode() 获取当前请求的'Sec-Fetch-Mode'头部,如果可用。
Server::httpSecFetchSite() 获取当前请求的'Sec-Fetch-Site'头部,如果可用。
Server::httpAccept() 获取当前请求的'Accept'头部,如果可用。
Server::httpUserAgent() 获取当前请求的'User-Agent'头部,如果可用。这是一个表示用于访问页面的用户代理的字符串。
Server::httpUpgradeInsecureRequests() 获取当前请求的'Upgrade-Insecure-Requests'头部的值,如果可用。
Server::httpSecChUaPlatform() 如果可用,获取用户连接的平台。
Server::httpSecChUaMobile() 如果可用,获取移动连接的平台。
Server::httpHost() 获取当前请求的'Host'头部,如果可用。
Server::requestTimeFloat() 获取请求开始时间的戳,精确到微秒。自PHP 5.4.0起可用。
Server::requestTime() 获取请求开始时间的Unix时间戳。自PHP 5.1.0起可用。

使用示例

use Rmunate\InfoServer\Wrappers\Server;

Server::software();
//"PHP 8.1.21 Development Server"

Server::httpAccept();
//"text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3;q=0.7"

Server::has("AWS_ACCESS_KEY_ID");
//true - false

创建者

许可

此项目受MIT许可许可。

🌟 支持我的项目!🚀

做出你合适的贡献;代码完全属于你。我们一起可以做些惊人的事情,并改善开发的世界。你的支持是无价的。✨

如果你有想法、建议,或者只是想合作,我们对一切持开放态度!加入我们的社区,成为我们成功之旅的一部分!🌐👩‍💻👨‍💻