基于PHP选项与信息函数的使用详解

bool assert ( mixed $assertion [, string $description ] ) — 检查一个断言是否为 FALSE


代码如下:

assert_options(ASSERT_ACTIVE, true);//允许使用assert()函数
 assert_options(ASSERT_WARNING, false);//在assert失败时不输出警告信息
 assert_options(ASSERT_BAIL, true);//assert失败后终止代码执行
 assert_options(ASSERT_CALLBACK, 'getMsg');//assert失败后终止代码执行。

echo '开始:<br/>';
 assert('mysql_query("")');
 echo '测试成功!';

function getMsg(){
     echo '出错啦!';
 }

mixed assert_options ( int $what [, mixed $value ] ) — 设置 assert() 的各种控制选项,或者查询当前的设置
ASSERT_ACTIVE : 是否启用 assert() 断言, ini配置 assert.active,默认值 1
ASSERT_WARNING :是否为每个失败的断言产生一个 PHP 警告,ini配置 assert.warning,默认1
ASSERT_BAIL :是否在断言失败时中止执行,ini配置 assert.bail,默认值0
ASSERT_QUIET_EVAL :是否在断言表达式求值时禁用 error_reporting,ini配置assert.quiet_eval,默认值0
ASSERT_CALLBACK :断言失败时调用回调函数,ini配置assert.callback


代码如下:

assert_options(ASSERT_ACTIVE, true);//允许使用assert()函数
 assert_options(ASSERT_WARNING, false);//在assert失败时不输出警告信息
 assert_options(ASSERT_BAIL, true);//assert失败后终止代码执行
 assert_options(ASSERT_CALLBACK, 'getMsg');//assert失败后终止代码执行。

echo '开始:<br/>';
 assert(is_int(1.2));//检测结果为fales
 echo '测试成功!';

function getMsg(){
     echo '出错啦!';
 }

bool dl( string $library ) — 获取 PHP 配置选项的值 载入指定的 PHP扩展


代码如下:

if(!extension_loaded('sqlite')){//测试指定的扩展是否已经激活
     $prefix = (PHP_SHLIB_SUFFIX === 'dll') ? 'php_' : '';
     dl($prefix . 'sqlite.' . PHP_SHLIB_SUFFIX);
 }

int gc_collect_cycles() — 强制收集所有现存的垃圾循环周期
void gc_disable ( void ) — 停用循环引用收集器
void gc_enable ( void ) — 激活循环引用收集器
bool gc_enabled ( void ) — 返回循环引用计数器的状态
string get_cfg_var ( string $option ) — 获取 PHP 配置选项的值获取 PHP 配置选项的值
string get_current_user ( void )— 获取当前 PHP 脚本所有者名称
array get_defined_constants ([ bool $categorize = false ] )— 返回所有常量的关联数组
array get_extension_funcs ( string $module_name )— 返回模块函数名称的数组


代码如下:

print_r(get_extension_funcs("xml"));

string get_include_path ( void ) — 获取当前的 include_path 配置选项
array get_included_files ( void )— 返回被 include 和 require 文件名的 array


代码如下:

include 'test1.php';
 include_once 'test2.php';
 require 'test3.php';
 require_once 'test4.php';

$included_files = get_included_files();

foreach ($included_files as $filename){
     echo "$filename\n";
 }

array get_loaded_extensions ([ bool $zend_extensions = false ] )— 返回所有编译并加载模块名的 array
bool get_magic_quotes_gpc ( void )— 获取当前 magic_quotes_gpc 的配置选项设置
bool get_magic_quotes_runtime ( void ) — 获取当前 magic_quotes_runtime 配置选项的激活状态
string getenv ( string $varname ) — 获取一个环境变量的值


代码如下:

$ip = getenv('REMOTE_ADDR');

int getlastmod ( void )— 获取页面最后修改的时间
int getmygid ( void )— 获取当前 PHP 脚本拥有者的 GID
int getmyinode ( void )— 获取当前脚本的索引节点(inode)
int getmypid ( void )— 获取 PHP 进程的 ID
int getmyuid ( void )— 获取 PHP 脚本所有者的 UID
array getopt ( string $options [, array $longopts ] )— 从命令行参数列表中获取选项
array getrusage ([ int $who = 0 ] ) — 获取当前资源使用状况
array ini_get_all ([ string $extension [, bool $details = true ]] ) — 获取所有配置选项


代码如下:

print_r(ini_get_all("pcre"));
print_r(ini_get_all());

string ini_get ( string $varname ) — 获取一个配置选项的值
void ini_restore ( string $varname )— 恢复配置选项的默认值
string ini_set ( string $varname , string $newvalue )— 为一个配置选项设置值
main — 虚拟的 main()int memory_get_peak_usage ([ bool $real_usage = false ] )— 返回分配给 PHP 内存的峰值int memory_get_usage ([ bool $real_usage = false ] ) — 返回分配给 PHP 的内存量
string php_ini_loaded_file ( void ) — 取得已加载的 php.ini 文件的路径
string php_ini_scanned_files ( void )— 返回从额外 ini 目录里解析的 .ini 文件列表
string php_sapi_name ( void ) — 返回 web 服务器和 PHP 之间的接口类型
string php_uname ([ string $mode = "a" ] )— 返回运行 PHP 的系统的有关信息
    'a':此为默认all。
    's':操作系统名称
    'n':主机名。例如: localhost.example.com。
    'r':版本名称,例如: 5.1.2-RELEASE。
    'v':版本信息。操作系统之间有很大的不同。
    'm':机器类型。例如:i386。
bool phpcredits ([ int $flag = CREDITS_ALL ] ) — 打印 PHP 贡献者名单
CREDITS_ALL :所有的
CREDITS_DOCS : 文档组贡献名单
CREDITS_FULLPAGE : 常用于和其他标志进行组合。 表示需要打印包含其他标志表示信息的独立 HTML 页面。
CREDITS_GENERAL : 普遍名单:语言设计与理念、PHP作者以及 SAPI 模块
CREDITS_GROUP : 核心开发者名单
CREDITS_MODULES : PHP 扩展模块以及作者
CREDITS_SAPI : PHP 的服务器 API 模块以及作者


代码如下:

phpcredits(CREDITS_GROUP | CREDITS_DOCS | CREDITS_FULLPAGE);

bool phpinfo ([ int $what = INFO_ALL ] ) — 输出关于 PHP 配置的信息
string phpversion ([ string $extension ] ) — 获取当前的PHP版本
bool putenv ( string $setting )— 设置环境变量的值
void restore_include_path ( void ) — 还原 include_path 配置选项的值
string set_include_path ( string $new_include_path ) — 设置 include_path 配置选项
void set_time_limit ( int $seconds )— 设置脚本最大执行时间,从它本身开始计时,0表示不限时
string sys_get_temp_dir ( void ) — 返回用于临时文件的目录
mixed version_compare ( string $version1 , string $version2 [, string $operator ] ) — 对比两个PHP 规范化的版本数字字串


代码如下:

if (version_compare(PHP_VERSION, '5.3.0') >= 0) {
    echo '我的PHP版本很高: ' . PHP_VERSION . "\n";
}

int zend_thread_id ( void ) — 返回当前线程的唯一识别符
string zend_version ( void ) — 获取当前 Zend 引擎的版本

(0)

相关推荐

  • 基于PHP选项与信息函数的使用详解

    bool assert ( mixed $assertion [, string $description ] ) - 检查一个断言是否为 FALSE 复制代码 代码如下: assert_options(ASSERT_ACTIVE, true);//允许使用assert()函数 assert_options(ASSERT_WARNING, false);//在assert失败时不输出警告信息 assert_options(ASSERT_BAIL, true);//assert失败后终止代码执行 

  • 基于Tomcat安全配置与性能优化详解

    Tomcat 是 Apache软件基金会下的一个免费.开源的WEB应用服务器,它可以运行在 Linux 和 Windows 等多个平台上,由于其性能稳定.扩展性好.免费等特点深受广大用户喜爱.目前,很多互联网应用和企业应用都部署在 Tomcat 服务器上,比如我们公司,哈. 之前我们 tomcat 都采用的是默认的配置,因此在安全方面还是有所隐患的.上周对测试环境的所有服务器的tomcat都做了安全优化,其间也粗略做了一些性能优化,这里就简单记录分享下! 一.版本安全 升级当前的tomcat版本

  • 基于Django OneToOneField和ForeignKey的区别详解

    根据Django官方文档介绍: A one-to-one relationship. Conceptually, this is similar to a ForeignKey with unique=True, but the "reverse" side of the relation will directly return a single object. OneToOneField与ForeignKey加上unique=True效果基本一样,但是用OneToOneField反

  • 基于IDEA部署Tomcat服务器的步骤详解

    简介 ​ 基于IDEA部署Tomcat服务器,并在上面创建第一个servlet程序,实现前后端交互.然后做一个简单的四则运算计算器. ​ 本程序基于2021年最新版IDEA,解决的与老版本配置不同问题 idea2021 最新 jihuo 教程(无线重制使用) 步骤一 安装Tomcat(前提已经安装好JDK) ​ 1.Tomcat是免费的服务器,直接在官网下载即可 ​ 2.压缩包下载好后直接将其解压到指定路径下 ​ 3.在安装路径下有一个bin文件夹,在里面找到startup.bat文件,双击运行

  • 基于Python实现评论区抽奖功能详解

    目录 1. 分析评论接口 2. 获取评论数据 3. 筛选评论用户 4. 抽取幸运观众 5. 完整源码 5.1 字符串截取的方式 5.2 正则匹配方式 5.3 执行结果 1. 分析评论接口 首先,我们需要找到评论数据的「接口」,也就是网站获取评论数据的请求. 打开一个需要抽奖的文章,进入「开发者模式」(按F12 或 右键检查),选中 Network 选项,同时「刷新」文章页面,使其重新发送请求,在右侧工具栏中观察页面发送的请求,逐个分析请求,根据响应内容判断出获取评论的请求 在 Headers 栏

  • 基于python中的TCP及UDP(详解)

    python中是通过套接字即socket来实现UDP及TCP通信的.有两种套接字面向连接的及无连接的,也就是TCP套接字及UDP套接字. TCP通信模型 创建TCP服务器 伪代码: ss = socket() # 创建服务器套接字 ss.bind() # 套接字与地址绑定 ss.listen() # 监听连接 inf_loop: # 服务器无限循环 cs = ss.accept() # 接受客户端连接 comm_loop: # 通信循环 cs.recv()/cs.send() # 对话(接收/发

  • 基于C++ bitset常用函数及运算符(详解)

    C++ bitset--高端压位卡常题必备STL ------------------------------------------------------------ 以下内容翻译自cplusplus.com,极大地锻炼了我的英语能力. bitset存储二进制数位. bitset就像一个bool类型的数组一样,但是有空间优化--bitset中的一个元素一般只占1 bit,相当于一个char元素所占空间的八分之一. bitset中的每个元素都能单独被访问,例如对于一个叫做foo的bitset,

  • 基于JS脚本语言的基础语法详解

    JS脚本语言的基础语法:输出语法  alert("警告!");  confirm("确定吗?");   prompt("请输入密码");为弱类型语言: 开始时要嵌入JS代码:<script type="text/javascript"></script>: 关于写程序是需注意的基本语法: 1.所有的字符全都是英文半角的: 2.大部分情况下每条语句结束后要加分号: 3.每一块代码结束后加换行:4.程序前呼

  • 基于java涉及父子类的异常详解

    java中的异常涉及到父子类的问题,可以归纳为一句话:子类的构造函数抛出的异常必须包含父类的异常,子类的方法可以选择抛出"范围小于等于"父类的异常或不抛出异常. 1. 为什么构造函数必须抛出包含父类的异常? 在<thingking in java>中有这么一段话: 异常限制:当覆盖方法时,只能抛出在基类方法的异常说明中列出的那些异常 异常限制对构造器不起作用,你会发现StormyInning的构造器可以抛出任何异常,而不必理会基类构造函数所抛出的异常.然而因为必须构造函数必

  • classloader类加载器_基于java类的加载方式详解

    基础概念 Classloader 类加载器,用来加载 Java 类到 Java 虚拟机中.与普通程序不同的是.Java程序(class文件)并不是本地的可执行程序.当运行Java程序时,首先运行JVM(Java虚拟机),然后再把Java class加载到JVM里头运行,负责加载Java class的这部分就叫做Class Loader. JVM本身包含了一个ClassLoader称为Bootstrap ClassLoader,和JVM一样,BootstrapClassLoader是用本地代码实现

随机推荐