35、说说你对SVN的了解?优缺点?
SVN是一种版本控制器,程序员开发的代码递交到版本服务器进行集中管理。
SVN的优点:代码进行集中管理,版本控制容易,操作比较简单,权限控制方便。
缺点:不能随意修改服务器项目文件夹。
点击加入我的企鹅群
36、怎么找到PHP.ini的路径?
一般都在php的安装目录下,或者window系统的windows目录下。
37、PHP加速模式/扩展? PHP调试模式/工具?
Zend Optimizer加速扩展
调试工具:xdebug
38、你常用到的mysql命令?
Show databases
Show tables
Insert into 表名() values()
Update 表名 set 字段=值 where ...
Delete from 表名 where ...
Select * from 表名 where 条件 order by ... Desc/asc limit ... Group by ... Having ...
39、进入mysql管理命令行的命令?
Mysql -uroot -p 回车 密码
40、show databases; 这个命令的作用?
显示当前mysql服务器中有哪些数据库
41、show create database mysql; 这个命令的作用?
显示创建数据库的sql语句
42、show create table user; 这个命令的作用?
显示创建表的sql语句
43、desc user; 这个命令的作用?
查询user表的结构
44、explain select * from user; 这个命令的作用?
获取select相关信息
45、show processlist; 这个命令的作用?
显示哪些线程正在运行
46、SHOW VARIABLES; 这个命令的作用?
显示系统变量和值
47、SHOW VARIABLES like ’%conn%’; 这个命令的作用?
显示系统变量名包含conn的值
48、LEFT JOIN 写一个SQL语句?
SELECT A.id,A.class FROM A LEFT JOIN B ON A.cid=B.id
49、in, not ni, exist, not exist的作用和区别?
in在什么中
Not in 不在什么中
Exists 存在
Not exists 不存在
50、怎么找到数据库的配置文件路径?
在数据库安装目录下,my.ini
51、简述Linux下安装PHP的过程?
安装软件之前先安装编译工具gcc、gcc-c++
拷贝源码包,解包解压缩
Cd /lamp/php进入php目录
./configure –prefix=/usr/local/php –with-config-file-path=/usr/local/php/etc指定安装目录和配置文件目录
Make 编译
Make install安装
52、简述Linux下安装Mysql的过程?
Groupadd mysql 添加一个用户组mysql
Useradd -g mysql mysql 添加一个mysql用户指定分组为mysql
Cd /lamp/mysql 进入mysql目录
./configure –prefix=/usr/local/mysql/ –with-extra-charsets=all
Make
Make all
53、简述Linux下安装apache的过程?
Cd /lamp/httpd 进去apache软件目录
./configure –prefix=/usr/local/apache2/ –sysconfdir=/etc/httpd/ –with-included-apr
Make
Make all
HTML/CSS/DIV/Javascritp:
54、设计一个页面(4个 div 第一个div 宽960px 居中;第2-4个div 3等分960px;)
55、用javascript取得一个input的值?取得一个input的属性?
document.getElementById(‘name’).value;
document.getElementById(‘name’).type;
56、用Jquery取得一个input的值?取得一个input的属性?
$(“input[name='aa']“).val();
$(“input[name='aa']“).attr(‘type’);
57、请您写一段ajax提交的js代码,或者写出ajax提交的过程逻辑。
var xmlhttp;
if(window.XMLHttpRquest){
xmlhttp=new XMLHttpRequest();
}else if(window.ActiveXObject){
xmlhttp=new ActiveXObject(‘Microsoft.XMLHTTP’);
}
xmlhttp.open(‘GET’,’1.php?aa=name’,true);
xmlhttp.onreadystatechange=function(){
if(xmlhttp.readyState==4){
if(xmlhttp.status==200){
var text=xmlhttp.responseText;
}
}
}
xmlhttp.send(null);
58、简述Cookie的设置及获取过程
设置COOKIE的值:
Setcookie(名称,值,保存时间,有效域);
获取值:$_COOKIE[‘名称’];
59、面向对象中接口和抽象类的区别及应用场景?
有抽象方法的类叫做抽象类,抽象类中不一定只有抽象方法,抽象方法必须使用abstract关键字定义。
接口中全部是抽象方法,方法不用使用abstract定义。
当多个同类的类要设计一个上层,通常设计为抽象类,当多个异构的类要设计一个上层,通常设计为接口。
用面向对象来实现A对象继承B和C对象
Interface B{
... }
Interface C{
... }
Class A implements B,C{
... }
60、写出Smarty模板引擎中你最常用的关键词
Assign Display Foreach
Section Loop Item
$smarty Now Const get
61、l 增加一个字段性别sex,写出修改语句
Alert table user add sex enum(’0′,’1′);
62、查询出年龄介于20岁到30岁之间的用户
Select * from user where age>20 and age<30
63、如果是一个Web频繁访问的查询,上题的查询如何优化?
可对where后面的字段 age 建立索引,也可对语句建立存储过程。
64、echo(),print(),print_r()的区别?
Echo,print是PHP语句, print_r是函数,
Print()只能打印出简单类型变量的值(如int,string),有返回值。
print_r()可以打印出复杂类型变量的值(如数组,对象)
echo 输出一个或者多个字符串,无返回值
65、什么是模板技术、能够使HTML和PHP分离开使用的模板?
模板技术就是使程序的逻辑代码和界面分开的技术。
能够使HTML和PHP分开的模板有:Smarty、Template、PHPlib Template、FastTemplate
66、对于大流量的网站,您采用什么样的方法来解决访问量问题?
优化程序,优化数据库,如果程序和数据库已经最优化,使用以下解决方法:
确定当前服务器设备是否满足流量需求。
使用Memcache缓存技术,把动态内容缓存到文件中,动态网页直接调用这些文件,而不必再访问数据库。
禁止外部盗链,图片和文件外部盗链会给服务器带来大量的负载压力,可以通过refer来禁止外部盗链,或者使用apache来配置禁止盗链。
控制大文件的下载,大文件的下载对于非SCSI硬盘来说会占用大量的资源,导致服务器的响应能力下降。
使用不同的主机分流主要流量,使服务器均衡负载。
使用流量统计软件统计分析网站流量,可以知道哪些地方耗费了大量的流量,哪些页面需要再进行优化。
67、mysql_fetch_row() 和mysql_fetch_array之间有什么区别?
Mysql_fetch_row()是从结果集中取出一行作为枚举数组,mysql_fetch_array()是从结果集中取出一行作为索引数组或关联数组或两种方式都有。
68、实现中文字串截取无乱码的方法
Mb_substr();
69、用PHP写出显示客户端IP与服务器IP的代码
获取客户端IP:$_SERVER(“REMOTE_ADDR”);
获取服务器端IP:$_SERVER[“SERVER_ADDR”];
70、有一个网页地址, 比如PHP开发资源网主页: http://www.phpres.com/index.html,如何得到它的内容?
获取网页内容:
$url=”http://www.phpres.com/index.html“;
$str=file_get_contents($url);
或 $ch=curl_init();
curl_setopt($ch,CURLOPT_URL,’’);
curl_setopt($ch,CURLOPT_HEADER,0);
curl_exec($ch);
curl_close($ch);
71、请写一个函数验证电子邮件的格式是否正确
function checkemail($email){
echo preg_match(‘/^[0-9a-zA-Z-]+@[0-9a-zA-Z-]+\.[0-9a-zA-Z]+$/’,$email)?’email格式正确‘:’email格式不正确‘;
}
72、简述如何得到当前执行脚本路径,包括所得到参数
用 S E R V E R [ ′ S C R I P T F I L E N A M E ′ ] . _SERVER['SCRIPT_FILENAME']. SERVER[′SCRIPTFILENAME′]._SERVER[‘REQUEST_URI’];取得当前页面的完整路径和参数。
取得参数:$_SERVER[‘QUERY_STRING’];
73、JS表单弹出对话框函数是?获得输入焦点函数是?
Alert(); focus();
74、写一个函数,算出两个文件的相对路径
如 $a = ’/a/b/c/d/e.php’;
$b = ’/a/b/12/34/c.php’;
计算出 $b 相对于 $a 的相对路径应该是 http://www.cnblogs.com/c/d将()添上
$a=”http://www.cnblogs.com/a/b/c/d/e.php”;
$b=”http://www.cnblogs.com/a/b/12/34/c.php”;
$ainfo=parse_url($a);
$binfo=parse_url($b);
$apath=ltrim($ainfo['path'],'/');
$bpath=ltrim($binfo['path'],'/');
$arr=explode('/',$apath);
$brr=explode('/',$bpath);
$flag=false;
for($i=0;$i
if($arr[$i]!==$brr[$i]){
$ab[$i]='..';
if(!$flag){
for($j=$i;$j
$bb[]=$brr[$j];
}
$flag=true;
}
}
}
$cha=array_merge($ab,$bb);
$cha=implode('/',$cha);
print_r($cha);
75、写一个函数,能够遍历一个文件夹下的所有文件和子文件夹。
function my_scandir($dir){
$files = array();
if ( $handle = opendir($dir) ){
while ( ($file = readdir($handle)) !== false ) {
if ( $file != ".." && $file != "." ) {
if ( is_dir($dir . "/" . $file) ) {
$files[$file] = scandir($dir . "/" . $file);
}else {
$files[] = $file;
}
}
}
closedir($handle);
return $files;
}
}
76、数据库索引有几类,分别是什么?什么时候该用索引?
普通索引、主键索引、唯一索引
并非所有的数据库都以相同的方式使用索引,作为通用规则,只有当经常查询列中的数据时才需要在表上创建索引。
好了各位,以上就是这篇文章的全部内容了,能看到这里的人呀,都是人才。之前说过,PHP方面的技术点很多,也是因为太多了,实在是写不过来,写过来了大家也不会看的太多,所以我这里把它整理成了PDF和文档,如果有需要的可以
点击进入暗号: PHP+「平台」
更多学习内容可以访问【对标大厂】精品PHP架构师教程目录大全,只要你能看完保证薪资上升一个台阶(持续更新)
以上内容希望帮助到大家,很多PHPer在进阶的时候总会遇到一些问题和瓶颈,业务代码写多了没有方向感,不知道该从那里入手去提升,对此我整理了一些资料,包括但不限于:分布式架构、高可扩展、高性能、高并发、服务器性能调优、TP6,laravel,YII2,Redis,Swoole、Swoft、Kafka、Mysql优化、shell脚本、Docker、微服务、Nginx等多个知识点高级进阶干货需要的可以免费分享给大家,需要的可以加入我的 PHP技术交流群