首页 > 后端开发 > 正文

php 如何获取服务器的信息

2024-10-12 20:46:41 | 我爱编程网

小编今天整理了一些php 如何获取服务器的信息相关内容,希望能够帮到大家。

本文目录一览:

php 如何获取服务器的信息

php 如何获取服务器的信息

服务器变量 $_SERVER 详解:

1、$_SESSION['PHP_SELF'] — 获取当前正在执行脚本的文件名

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

3、$_SERVER['REQUEST_TIME'] — 请求开始时的时间戳。从 PHP 5.1.0 起有效。和time函数效果一样。

4、$_SERVER['argv'] — 传递给该脚本的参数。我试了下,get方法可以得到$_SERVER['argv'][0];post方法无法给他赋值。

5、$_SERVER['SERVER_NAME'] — 返回当前主机名。

6、$_SERVER['SERVER_SOFTWARE'] — 服务器标识的字串,在响应请求时的头信息中给出。 如Microsoft-IIS/6.0

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

8、$_SERVER['QUERY_STRING'] — 查询(query)的字符串(URL 中第一个问号 ? 之后的内容)。

9、$_SERVER['DOCUMENT_ROOT'] — 当前运行脚本所在的文档根目录。在服务器配置文件中定义。 如E:\server

10、$_SERVER['HTTP_ACCEPT'] — 当前请求的 Accept: 头信息的内容。

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

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

13、$_SERVER['HTTP_ACCEPT_LANGUAGE'] — 当前请求的 Accept-Language: 头信息的内容。例如:“en”。

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

15、$_SERVER['HTTP_HOST'] — 当前请求的 Host: 头信息的内容。

16、$_SERVER['HTTP_REFERER'] — 链接到当前页面的前一页面的 URL 地址。

17、$_SERVER['HTTP_USER_AGENT'] — 返回用户使用的浏览器信息。也可以使用 get_browser() 得到此信息。

18、$_SERVER['HTTPS'] — 如果通过https访问,则被设为一个非空的值,否则返回off.

19、$_SERVER['REMOTE_ADDR'] — 正在浏览当前页面用户的 IP 地址。

20、$_SERVER['REMOTE_HOST'] — 正在浏览当前页面用户的主机名。反向域名解析基于该用户的 REMOTE_ADDR。如本地测试返回127.0.0.1

21、$_SERVER['REMOTE_PORT'] — 用户连接到服务器时所使用的端口。我在本机测试没通过,不知道什么原因。

22、$_SERVER['SCRIPT_FILENAME'] — 当前执行脚本的绝对路径名。如返回E:\server\index.php

23、$_SERVER['SERVER_ADMIN'] — 该值指明了 Apache 服务器配置文件中的 SERVER_ADMIN 参数。如果脚本运行在一个虚拟主机上,则该值是那个虚拟主机的值

24、$_SERVER['SERVER_PORT'] — 服务器所使用的端口。默认为“80”。如果使用 SSL 安全连接,则这个值为用户设置的 HTTP 端口。

25、$_SERVER['SERVER_SIGNATURE'] — 包含服务器版本和虚拟主机名的字符串。

26、$_SERVER['PATH_TRANSLATED'] — 当前脚本所在文件系统(不是文档根目录)的基本路径。这是在服务器进行虚拟到真实路径的映像后的结果。 Apache 2 用 户可以使用 httpd.conf 中的 AcceptPathInfo On 来定义 PATH_INFO。

27、$_SERVER['SCRIPT_NAME'] — 包含当前脚本的路径。这在页面需要指向自己时非常有用。__FILE__ 包含当前文件的绝对路径和文件名(例如包含文件)。

28、$_SERVER['REQUEST_URI'] — 访问此页面所需的 URI。例如,“/index.html”。

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

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

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

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

php 如何获取服务器的信息

php函数里面怎么获取post过来的值

php直接用全局变量$_POST来接收post参数
比如:前端<input name ="username" value="123" type="text"/>
参数username通过post传参数到服务器,php以$_POST['username']来接收

php 如何获取服务器的信息

ThinkPHP 中系统函数有哪些

我爱编程网(https://www.52biancheng.com)小编还为大家带来ThinkPHP 中系统函数有哪些的相关内容。

首先给大家介绍ThinkPHP函数详解:M方法 M方法用于实例化一个基础模型类,和D方法的区别在于: 1、不需要自定义模型类,减少IO加载,性能较好; 2、实例化后只能调用基础模型类(默认是Model类)中的方法; 3、可以在实例化的时候指定表前缀、数据库和数据库的连接信息; D方法的强大则体现在你封装的自定义模型类有多强,不过随着新版ThinkPHP框架的基础模型类的功能越来越强大,M方法也比D方法越来越实用了。 M方法的调用格式: M('[基础模型名:]模型名','数据表前缀','数据库连接信息') 我们来看下M方法具体有哪些用法: 1、实例化基础模型(Model) 类 在没有定义任何模型的时候,我们可以使用下面的方法实例化一个模型类来进行操作: //实例化User模型 $User = M('User'); //执行其他的数据操作 $User->select(); 这种方法最简单高效,因为不需要定义任何的模型类,所以支持跨项目调用。缺点也是因为没有自定义的模型类,因此无法写入相关的业务逻辑,只能完成基本的CURD操作。 $User = M('User'); 其实等效于: $User = new Model('User'); 表示操作think_user表。M方法和D方法一样也有单例功能,多次调用并不会重复实例化。M方法的模型名参数在转换成数据表的时候会自动转换成小写,也就是说ThinkPHP的数据表命名规范是全小写的格式。 2、实例化其他公共模型类 第一种方式实例化因为没有模型类的定义,因此很难封装一些额外的逻辑方法,不过大多数情况下,也许只是需要扩展一些通用的逻辑,那么就可以尝试下面一种方法。 $User = M('CommonModel:User'); 改用法其实等效于: $User = new CommonModel('User'); 因为系统的模型类都能够自动加载,因此我们不需要在实例化之前手动进行类库导入操作。模型类CommonModel必须继承Model。我们可以在CommonModel类里面定义一些通用的逻辑方法,就可以省去为每个数据表定义具体的模型类,如果你的项目已经有超过100个数据表了,而大多数情况都是一些基本的CURD操作的话,只是个别模型有一些复杂的业务逻辑需要封装,那么第一种方式和第二种方式的结合是一个不错的选择。 3、传入表前缀、数据库和其他信息 M方法有三个参数,第一个参数是模型名称(可以包括基础模型类和数据库),第二个参数用于设置数据表的前缀(留空则取当前项目配置的表前缀),第三个参数用于设置当前使用的数据库连接信息(留空则取当前项目配置的数据库连接信息),例如: $User = M('db2.User','think_'); 表示实例化Model模型类,并操作db2数据库中的think_user表。 如果第二个参数留空或者不传,表示使用当前项目配置中的数据表前缀,如果操作的数据表没有表前缀,那么可以使用: $User = M('db1.User',null); 表示实例化Model模型类,并操作db1数据库中的user表。 如果你操作的数据库需要不同的用户账号,可以传入数据库的连接信息,例如: $User = M('User','think_','mysql://user_a:1234@localhost:3306/thinkphp'); 表示基础模型类用Model,然后对think_user表进行操作,用user_a账号进行数据库连接,操作数据库是thinkphp。 第三个连接信息参数可以使用DSN配置或者数组配置,甚至可以支持配置参数。 例如,在项目配置文件中配置了: 'DB_CONFIG'=>'mysql://user_a:1234@localhost:3306/thinkphp'; 则可以使用: $User = M('User','think_','DB_CONFIG'); 基础模型类和数据库可以一起使用,例如: $User = M('CommonModel:db2.User','think_'); 如果要实例化分层模型的话,利用公共模型类的方式,我们可以使用: M('UserLogic:User'); 来实例化UserLogic,虽然这样做的意义不大,因为可以用 D('User','Logic'); 实现同样的功能。 ThinkPHP函数详解:R方法 R方法用于调用某个控制器的操作方法,是A方法的进一步增强和补充。关于A方法的用法见这里。 R方法的调用格式: R('[项目://][分组/]模块/操作','参数','控制器层名称') 例如,我们定义了一个操作方法为: class UserAction extends Action { public function detail($id){ return M('User')->find($id); } } 那么就可以通过R方法在其他控制器里面调用这个操作方法(一般R方法用于跨模块调用) $data = R('User/detail',array('5')); 表示调用User控制器的detail方法(detail方法必须是public类型),返回值就是查询id为5的一个用户数据。如果你要调用的操作方法是没有任何参数的话,第二个参数则可以留空,直接使用: $data = R('User/detail'); 也可以支持跨分组和项目调用,例如: R('Admin/User/detail',array('5')); 表示调用Admin分组下面的User控制器的detail方法。 R('Admin://User/detail',array('5')); 表示调用Admin项目下面的User控制器的detail方法。 官方的建议是不要在同一层多太多调用,会引起逻辑的混乱,被公共调用的部分应该封装成单独的接口,可以借助3.1的新特性多层控制器,单独添加一个控制器层用于接口调用,例如,我们增加一个Api控制器层, class UserApi extends Action { public function detail($id){ return M('User')->find($id); } } 然后,使用R方法调用 $data = R('User/detail',array('5'),'Api'); 也就是说,R方法的第三个参数支持指定调用的控制器层。 同时,R方法调用操作方法的时候可以支持操作后缀设置C('ACTION_SUFFIX'),如果你设置了操作方法后缀,仍然不需要更改R方法的调用方式。 以上内容给大家分享了ThinkPHP函数详解之M方法和R方法,希望对大家有所帮助。 我爱编程网

以上就是我爱编程网小编为大家带来的内容了,想要了解更多相关信息,请关注我爱编程网。更多相关文章关注我爱编程网:www.52biancheng.com

免责声明:文章内容来自网络,如有侵权请及时联系删除。
与“php 如何获取服务器的信息”相关推荐
PHP如何获取本地时间与服务器时间
PHP如何获取本地时间与服务器时间

PHP如何获取本地时间与服务器时间PHP获取服务器时间和本地时间很简单,可以用内置函数实现,具体代码如下:记得给分!!!&lt;?php //获取服务器时间    echo date("Y-m-d h:i:s"); //获取本地时间(也可以说是你所在时区时间)    date_default_timezone_set('地区'); //地区:中国是PRC,或shanghai

2024-08-11 01:52:48
php的服务器cpu数量怎么获取
php的服务器cpu数量怎么获取

php截取一段文字的前一百个字的问题一般英文字符占一个字节,汉字占两个字节,有这么一种思路,在截取字符串的时候逐个判断要截取的字符是汉字还是英文字符,这样就不会出现错误了,下边给你帖一个我写的程序,你自己看下&lt;html&gt;&lt;head&gt;&lt;title&gt;无标题文档&lt;/title&gt;&lt;metahttp-equiv="Content-T

2024-09-14 21:47:18
如何调试PHP的Core之获取基本信息
如何调试PHP的Core之获取基本信息

如何调试PHP的Core之获取基本信息在这个过程中,会涉及到对PHP的函数调用,PHP的传参,PHP的一些全局变量的知识.首先,让我们生成一个供我们举例子的Core文件:&lt;?phpfunctionrecurse($num){recurse(++$num);}recurse(0);运行这个PHP文件:$phptest.phpSegmentati

2024-09-06 10:11:14
微信小程序如何与服务器的数据库连接?
微信小程序如何与服务器的数据库连接?

微信小程序如何与服务器的数据库连接?在微信小程序中,与服务器的数据库连接是实现数据交互的关键步骤。首先,你需要确保能够连接到服务器上的MySQL数据库。为此,需要将php文件放置在服务器指定目录下,并进行相应的服务器部署和测试。一旦服务器配置完成,接下来就是在小程序中使用wx.request方法来发起网络请求,以连接到服务器。这个方法通常会在onLoad函数中编写,以便当小程序启动时自

2025-01-26 15:54:50
服务器如何开启php的fsockopen函数
服务器如何开启php的fsockopen函数

服务器如何开启php的fsockopen函数第一步:php.ini文件中查找allow_url_fopen=On使其值为On第二步:php.ini文件中查找extension=php_openssl.dll如果前面有分号,去掉分号第三步:重启web服务器,apache或IISphp开启fsockopen函数1.方法一:

2024-09-26 15:03:59
如何开启服务器 thinkphp pathinfo的访问方式
如何开启服务器 thinkphp pathinfo的访问方式

使用PHP中pathinfo函数讲解pathinfo()是PHP中的内置函数,用于以关联数组或字符串形式提供文件路径信息。调用方式为pathinfo(path,options),返回一个关联数组,包含路径信息。使用pathinfo函数的步骤如下:首先,你需要指定要检查的路径作为参数传递给pathinfo()函数。其次,可选择性地提供一个options参数,规定返回的数组元素

2024-12-02 19:34:49
java程序如何在linux服务器上运行
java程序如何在linux服务器上运行

怎样使用linux运行java程序?使用linux运行java程序具体步骤如下:1.Windows上使用eclipse编译java工程,编译完成后导出为RunnableJARFile。例如,此处将test工程中的Test2文件export为MyTest2.jar文件。2.Ubuntu上java环境安装。①jdk官网-downloads-2133151.html下载L

2024-03-15 03:02:46
服务器上如何运行Java程序?这个程序主要是监听某个端口是否有信息的?打包->上传->命令行运行?
服务器上如何运行Java程序?这个程序主要是监听某个端口是否有信息的?打包->上传->命令行运行?

服务器上如何运行Java程序?这个程序主要是监听某个端口是否有信息的?打包->上传->命令行运行?1.先安装j2sdk我安装路径是:D:\ProgramFiles\Java\j2sdk2.再安装eclipseEclipse是绿色软件,不需要安装,把下载回来的eclipse压缩包解压就可以了我安装的路径是:D:\ProgramFiles\Java\eclipse3.安装

2024-03-17 01:37:16