A.命令行运行PHP代码
php -r "echo 1;"
B.5.3.0分水岭版本的一些改变
- POSIX → PCRE
- ereg_replace() → preg_replace()
- ereg() → preg_match()
- eregi_replace() → preg_replace()
- eregi() → preg_match()
- split() → preg_split()
- spliti() → preg_split()
- sql_regcase() → No equivalent
return is_array($var) ? array_map('addslashesDeep', $var) : addslashes($var);
}
$_GET = addslashesDeep($_GET);
$_POST = addslashesDeep($_POST);
$_COOKIE = addslashesDeep($_COOKIE);
$_REQUEST = addslashesDeep($_REQUEST);
原来需要双引号,困扰了我好多年。
var_dump($a, $b);
}
if ($a = 100 || $b = 200) {
var_dump($a, $b);
}
$a = (100 && $b) = 200; 会有语法错误。所以……
H.safe_mode
PHP5.4开始 无安全模式 之前所起到的功能 用系统用户权限来实现
1.系统文件函数 open_basedir
chdir, move_uploaded_file, chgrp, parse_ini_file, chown, rmdir, copy, rename, fopen, require, highlight_file, show_source, include, symlink, link, touch, mkdir, unlink
2.执行命令函数 safe_mode_exec_dir
exec,shell_exec,passthru,system,popen
3.部分设置函数
set_time_limit, set_include_path, ini_set的display_errors、memory_limit
safe_mode=on打开安全模式
safe_mode_gid = off 开启后 此值应该 与文件系统函数的目标文件的用户id 一致
safe_mode_exec_dir 执行程序目录
safe_mode_include_dir 包含文件目录
open_basedir PHP脚本能够访问的目录
disable_functions=chdir,chroot,dir 关闭指定函数(例如文件操作什么的)
expose_php = Off 关闭PHP版本信息
register_globals = Off 关闭注册的全局变量(POST或者GET提交的变量,都将自动注册为全局变量。关闭后用$_GET['key']访问)
magic_quotes_gpc = On 防止SQL注入
I.ci框架
实现多项目公用一套system
把index.php放进不同的application目录下 web服务器更目录设置此application下 更改index.php的目录设置即可