PHP基础面试题 – 第五天

2022-10-11 20:37:48 178 0
魁首哥

1、列出五种以上你使用过的PHP 的扩展的名称 (提示:常用的PHP扩展 , 如 GD 扩展)

2、写一个函数,用冒泡法实现排序,输入参数为一个数组

PHP基础面试题 – 第五天

function mysort($arr){

for($i=0;$i

{

for($j=$i;$j

{

if($arr[i]>$arr[j])

{

$temp = $arr[i];

$arr[i] = $arr[j];

$arr[j] = $temp;

}

}

}

}

3、请说明 在php.ini 中safe_mode 开启之后对于PHP系统函数的影响

chmod() mkdir() touch() chown() chgrp() chdir() fopen() rmdir() copy() link()

exec()

chmod() 检查被操作的文件或目录是否与正在执行的脚本有相同的 UID(所有者)。 另外,不能设置 SUID、SGID 和 sticky bits

mkdir() 检查被操作的目录是否与正在执行的脚本有相同的 UID(所有者)。

touch() 检查被操作的文件或目录是否与正在执行的脚本有相同的 UID(所有者)。 检查被操作的目录是否与正在执行的脚本有相同的 UID(所有者)。

chown() 检查被操作的文件或目录是否与正在执行的脚本有相同的 UID(所有者)。

chgrp() 检查被操作的文件或目录是否与正在执行的脚本有相同的 UID(所有者)。

chdir() 检查被操作的目录是否与正在执行的脚本有相同的 UID(所有者)。

fopen() 检查被操作的目录是否与正在执行的脚本有相同的 UID(所有者)。

rmdir() 检查被操作的目录是否与正在执行的脚本有相同的 UID(所有者)。

copy() 检查被操作的文件或目录是否与正在执行的脚本有相同的 UID(所有者)。 检查被操作的目录是否与正在执行的脚本有相同的 UID(所有者)。 (on source and target )

link() 检查被操作的文件或目录是否与正在执行的脚本有相同的 UID(所有者)。 检查被操作的目录是否与正在执行的脚本有相同的 UID(所有者)。 (注意:仅测试 target)

exec() 只能在 safe_mode_exec_dir 设置的目录下进行执行操作。基于某些原因,目前不能在可执行对象的路径中使用 ..。escapeshellcmd() 将被作用于此函数的参数上。

4、你用什么方法检查PHP脚本的执行效率(通常是脚本执行时间)和数据库SQL的效率(通常是数据库Query时间),并定位和分析脚本执行和数据库查询的瓶颈所在?

1.脚本执行时间,启用xdebug,使用WinCacheGrind分析。

2.数据库查询,mysql使用EXPLAIN分析查询,启用slow query log记录慢查询。

3, xdebug统计函数执行次数和具体时间进行分析。

4, 在线系统用strace跟踪相关进程的具体系统调用。

5、试简述php5 中 autoload 机制是如何自动加载类的

当PHP引擎试图实例化一个未知类的操作时,会调用__autoload()方法,在PHP出错失败前有了最后一个机会加载所需的类。

因此,上面的这段代码执行时,PHP引擎实际上替我们自动执行了一次__autoload方法,将User.class.php这个文件包含进来。

在__autoload函数中抛出的异常不能被catch语句块捕获并导致致命错误。

收藏
分享
海报
0 条评论
178
上一篇:重定向wp-login.php登录到指定页面 下一篇:分享一个漂亮的PHP验证码,滑动拼图验证码

本站已关闭游客评论,请登录或者注册后再评论吧~

忘记密码?

图形验证码