• 关于

    html固定分区

    的搜索结果

问题

在FreeBSD里扩容磁盘

使用dd命令向2TB容量的硬盘还原了一个31GB固定大小的vhd虚拟机磁盘文件,需将磁盘扩容。过程如下: 1.df -h # 查看当前磁盘使用情况,29GB 2.gpart sh...
dongshan8 2019-12-01 21:52:28 1932 浏览量 回答数 0

回答

您好 那是你的电脑配置低,特别是内存容量(256MB或以下)太小的原因:当电脑运行较大的程序或者电脑运行时间长了以后,内存达到饱和状态,电脑就会出现运行缓慢甚至死机,电脑重启以后,饱和的内存得到了释放,运行就有正常了。要想运行大型程序或长时间运行电脑不死机,最好的办法就是增加你的内存容量到512MB或以上(内存容量1G或2G...)在现有硬件配置的情况下,你可以参考如下办法:电脑运行缓慢或时而死机成气候又正常的原因很多: 电脑配置不高,里面安装的软件、程序太多,启动项太多、桌面图标(快捷方式)太多、可能还设置了桌面背景图片、屏幕保护、系统待机等影响开机启动,最主要的是系统垃圾太多,磁盘碎片长时间没有整理....排除中毒可能,你可以先采取以下办法: 办法一. 1.用命令修复:在Windows XP Service Pack 2中如果发现你得IE出现故障不妨试着“运行”一下这个命令:"%progrramFiles%\InternetExplorer\iexplore.exe"/rereg"(双引号不可少),它可以帮你重新注册IE的所有组件,帮你彻底修复瘫痪的IE,不过不适应于Windows 其他版本。 2.下载安装360安全卫士--高级--修复IE--勾选要修复的选项或全选--立即修复。修复后,重新设置IE主页。 3.启动IE浏览器--工具--Internet选项--高级--HTTP1.1--在“使用HTTP1.1”前面加上对勾,并去掉“通过代理连接使用HTTP1.1”的对勾--确定。 4.在360安全卫士的常用选项下,分别点击“查杀流行木马”和“清理恶评插件”--开始扫描--分别勾选扫描出的流行木马和恶评插件--分别点击“立即查杀”和“立即清除”。特别注意象3721、雅虎助手、中文上网、百度搜霸等之类的恶意流氓插件,应该坚决清除。 办法二. 采取以下方法,可以有明显效果: 1.系统启动项太多,影响开机启动速度,方法:开始——运行——输入msconfig回车——启动——在启动项里,你只保留ctfmon(输入法)和杀毒软件即可,其他的将对勾去掉——确定即可。 2、关闭系统属性中的特效,这可是简单有效的提速良方。右键我的电脑—属性--高级--性能--设置--在视觉效果中,设置为调整为最佳性能--确定即可。 3、右键桌面—属性—桌面—背景—选择无;颜色—选择黑色;桌面背景对开机速度影响最大;应该去掉。 4、屏幕保护程序—选择无。取消系统待机和休眠,因为系统待机或休眠要占用全部物理内存。 5、外观—窗口和按钮—选择经典样式—色彩方案—选择Windows经典。 6、最多保留十个左右;对一些不常用的图标应该从桌面删除。 7、对一些不常用你又不想删除的,可以集中放在一个文件夹,方法:右键桌面—排列图标—运行桌面清理向导,你只要按照提示清理就OK了。 8、如果你的系统杀毒软件开机时随机启动的话,杀毒软件就要扫描检查图标链接是否有毒,这需要一定时间,就出现图标显示慢的情况,这是正常的,并不是电脑有问题。这方面网上很多,你可以去搜索搜索。 9、开始--运行--输入regedit 回车。打开注册表编辑器,找到HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Session Manager\Memory Management\PrefetchParameters,在右边找到EnablePrefetcher主键,把它的默认值3改为1,这样滚动条滚动的时间就会减少。 10、在“我的电脑”上点右键-属性-硬件-设备管理器-点击“IDE ATA/ATAPI”选项-双击“次要IDE通道”-高级设置-设备类型,将“自动检测”改为“无”,主要要IDE通道也做相同的设置,这样你电脑滚动条最多跑三圈,启动速度将提高三倍以上。 11、在“开始→运行”中输入gpedit.msc,打开组策略编辑器。找到“计算机配置→管理模板→网络→QoS数据包调度程序”,选择右边的“限制可保留带宽”,选择“属性”打开限制可保留带宽属性对话框,选择“禁用”即可。这样就释放了保留的带宽。 12、建议经常清理系统垃圾(如系统垃圾文件、系统注册表垃圾)并推荐你一个清理系统垃圾的一个小程序(见最后附件)。 13、建议将你电脑中的IE临时文件和虚拟内存设置在非系统盘中 。 14、在平时不要同时打开太多的应用程序软件,将杀毒软件或其它优化软件的监控功能关闭,因为杀毒软件或其它优化软件的监控功能特别占据系统资源。 15、重启电脑,启动到桌面后,会弹出一个窗口,在小方格中添加勾选,点“确定”(因为改动了系统配置实用程序)。 另外,还要注意经常清理系统垃圾,按时整理磁盘碎片。这方面网上也挺多,你自己注意多搜索。 最后建议你下载安装Windows优化大师,对你的系统进行全面清理和优化.经过该软件的清理优化,你的系统运行速度和性能肯定会有明显提高。 附件: 在电脑屏幕的左下角按“开始→程序→附件→记事本”,把下面的文字复制进去(黑色部分),点“另存为”,路径选“桌面”,保存类型为“所有文件”,文件名为“清除系统LJ.bat”,就完成了。记住后缀名一定要是.bat,ok!你的垃圾清除器就这样制作成功了! 双击它就能很快地清理垃圾文件,大约一分钟不到。 ======就是下面的文字(这行不用复制)============================= @echo off echo 正在清除系统垃圾文件,请稍等...... del /f /s /q %systemdrive%\*.tmp del /f /s /q %systemdrive%\*._mp del /f /s /q %systemdrive%\*.log del /f /s /q %systemdrive%\*.gid del /f /s /q %systemdrive%\*.chk del /f /s /q %systemdrive%\*.old del /f /s /q %systemdrive%\recycled\*.* del /f /s /q %windir%\*.bak del /f /s /q %windir%\prefetch\*.* rd /s /q %windir%\temp & md %windir%\temp del /f /q %userprofile%\cookies\*.* del /f /q %userprofile%\recent\*.* del /f /s /q "%userprofile%\Local Settings\Temporary Internet Files\*.*" del /f /s /q "%userprofile%\Local Settings\Temp\*.*" del /f /s /q "%userprofile%\recent\*.*" echo 清除系统LJ完成! echo. & pause =====到这里为止(这行不用复制)============================================== 以后只要双击运行该文件,当屏幕提示“清除系统LJ完成 ,你的系统就会变得清净苗条了。 *重新设置虚拟内存 如何合理设置虚拟内存 ,防止系统出现内存不足? 1、自定义虚拟内存,最好给它一个固定值,这样就不容易产生磁盘碎片,具体数值根据你的物理内存大小来定,一般是128MB物理内存设2 -3倍,256MB/384MB设1.5-2倍,512MB设1—1.5倍,其它类推 。 2、虚拟内存(页面文件)存放的分区,一定要有足够的空间,硬盘资源不足,造成虚拟内存不够用。一台电脑中在一个分区设置虚拟内存就够用了,不必在其它分区中再设置虚拟内存,一般设在靠近装有系统的C分区的D分区中。 3、具体步骤如下:右键单击“我的电脑”→属性→高级→性能 设置→高级→虚拟内存 更改→选择虚拟内存(页面文件)存放的分区→自定义大小→确定最大值和最小值→设置→确定。4、取消分区中的页面文件设置 。右击我的电脑—属性--高级--性能设置--高级--虚拟内存更改--在驱动器列表中选中你设有页面文件的盘符(C)--选“无页面文件”--“设置”,将这个盘的页面文件设置删除。 *小技巧加速浏览器载入和浏览速度   在默认情况下,IE仅允许从一个网络服务器上同时下载两个会话。这会影响到你网页浏览的速度,因为你无法同时下载到所有组成网页的对象,这样页面的显示就会慢得多。如果你可以强制IE同时下载更多的对象的话,网页的显示就会快得多。     一个Windows注册表修改的技巧能够做到这一点。通过这样的修改,你就可以迫使IE使用超过两个同时进行的会话。最好的数目是10。下面是操作步骤:     运行注册表编辑器,依次展开到HKEY_CURRENT_USERSoftwareMicrosoft WindowsCurrentVersionInternetSettings。     选择“编辑”→“新建”→“DWORD值”,创建一个新的DWORD值,命名为MaxConnectionsPer1_0Server,并将其值设为10。   *只改一个值 马上加快宽带上网速度 经典经验贴: 如果是宽频上网,那么在注册表中设定适当的TcpWindow值,就可以加快上网速度。   打开注册表编辑器(开始-运行-输入REGEDIT),在其中 找到“HKEY_LOCAL_MACHINE\System\CurrenControlSet\Services\Tcpip\Parameters”子键,在右边键值区中,找到或新建一个名为“GlobalmaxTcp WindowSize”的DWORD键值项,将其数据值数据设为“256960”(十进制),关闭注册表编辑器,重新启动电脑即可。 感觉一下是不是速度比以前快多了? 这个更改的原理是:通常情况下,TCP/IP默认的数据传输单元接受缓冲区的大小为576字节,要是将这个缓冲区的大小设置得比较大的话,一旦某个TCP/IP分组数据发生错误时,那么整个数据缓冲区中的所有分组内容,都将被丢失并且进行重新传送;显然不断地重新进行传输,会大大影响ADSL传输数据的效率。为此,设置合适缓冲区大小,确保ADSL传输数据的效率始终很高,将会对ADSL传输速度有着直接的影响! 原键值:255552(十六进制) 下载安装Windows优化大师 免费版 7.96 Build 9.605全面清理、优化系统。下载网址: http://dl.pconline.com.cn/html_2/1/83/id=65&pn=0.html 或下载安装Z武器,您的系统所有硬件的所有参数都可以显示出来,而且该软件还有其他功能:清理系统垃圾、修复系统漏洞、打补丁、检测升级驱动程序、检测硬件温度、测量电脑速度等。 来源于网络,供您参考,如若满意,请点击右侧【采纳答案】,如若还有问题,请点击【追问】 希望我的回答对您有所帮助,望采纳! ~ O(∩_∩)O~
保持可爱mmm 2019-12-02 03:03:46 0 浏览量 回答数 0

问题

使用向导创建实例

本文介绍如何使用控制台向导创建一个实例。如果您想用自己的系统盘快照创建自定义镜像,并用这个自定义镜像创建实例,请参见 使用自定义镜像创建实例。 前提条件 在创建ECS实例前,您已经完成...
chenchuan 2019-12-01 21:37:01 679 浏览量 回答数 0

阿里云试用中心,为您提供0门槛上云实践机会!

100+款试用云产品,最长免费试用12个月!拨打95187-1,咨询专业上云建议!

问题

使用向导创建实例

本文介绍如何使用控制台向导创建一个实例。如果您想用自己的系统盘快照创建自定义镜像,并用这个自定义镜像创建实例,请参见 使用自定义镜像创建实例。 前提条件 在创建ECS实例前,您已经完成...
chenchuan 2019-12-01 21:33:59 502 浏览量 回答数 0

回答

二、节点常见问题: http://help.aliyun.com/guide?spm=0.0.0.57.g0RHts&helpId=1496 1、什么线路;   我们的服务器是BGP多线(中国电信、联通、移动、教育网等)接入,确保全国用户访问畅通。 2、节点地理位置;   我们有华东杭州节点和华东青岛节点,没有国外节点 3、能否指定节点位置;   可以根据您的需求选择华东杭州节点或者华东青岛节点 4、试用后节点可以选择么?    阿里云隆重推出华东青岛节点和华东杭州节点。目前所有申请试用的服务器默认华东青岛节点,因服务器不可更换节点,若您试用下来觉得OK可以直接对该台服务器进行续费;如需更换节点,请重新新购。 更多区域使用帮助详见: http://bbs.aliyun.com/read.php?spm=0.0.0.49.GTSotb&tid=130553 ------------------------- 三、配置升级常见问题:http://help.aliyun.com/guide?spm=0.0.0.58.qezBDB&helpId=14981、服务器或者配置能否升级  我们的服务器支持自定义升级,可以根据用户需求,针对cpu,内存,硬盘,带宽进行升级。其中带宽支持按天来进行升级。2、配置升级费用怎么计算  升级的费用是以补差价的形式,用户可以通过用户中心操作的时候,进行查看。3、是否无缝升级或者升级是否会有影响;  升级是无缝升级的,不会有影响。4、升级需要多少时间;  暂时升级需要停机操作大概15分钟左右。(ps:升级存储空间和带宽不需要停机,5分钟左右完成升级) ------------------------- 四、硬盘常见问题:http://help.aliyun.com/guide?spm=0.0.0.59.IXdOXT&helpId=15001、硬盘大小跟购买时不一致(挂载)购买须知有; 如果存在购买时大小差异的问题,需要手动挂载数据盘http://help.aliyun.com/manual?spm=0.0.0.109.aNdyV1&helpId=2712、硬盘能否进行分区;  硬盘分区和格式化for Windows 2008:http://help.aliyun.com/manual?spm=0.0.0.110.8O34rs&helpId=69.3、硬盘的IO性能怎么样;  硬盘的IO性能,可以第三方的测评  http://lusongsong.com/reed/451.html4、硬盘能否扩容;  硬盘可以按需扩容升级 ------------------------- 五、操作系统常见问题:http://help.aliyun.com/guide?spm=0.0.0.60.6fX9nz&helpId=15021、为什么没有win操作系统  内存512M的服务器只有linux系统,内存最少选择1G就有win系统; 2、操作系统是否要收费  linux系统免费,windows系统有版权费,每月30元。(ps:如果是从win操作之间的更换,无需补交费用;但是从lin操作更换成win操作系统,需要收取版权费用); 3、我能否自己安装或者升级操作系统  服务器需要使用我们提供的操作系统,不能自行添加或升级,操作系统可以打补丁; 4、服务器的登录账号密码是什么  linux操作系统的用户名为root,windows操作系统的用户名为administrator,密码将通过短信发送到用户云账号绑定的手机上,同时还会通过邮件发送至您注册时的邮箱里; 5、能否更换操作系统  可以更换操作系统 6、操作系统是否有图形界面  windows操作系统是桌面管理,linux操作系统是命令行,用户如果需要可以自己设置图形管理; 7、如何选择操作系统  操作系统选择建议http://bbs.aliyun.com/read.php?spm=0.0.0.71.0RoWff&tid=120515 ------------------------- 六、带宽常见问题:http://help.aliyun.com/guide?spm=0.0.0.61.yR3TzS&helpId=15041、带宽是否独享  我们提供的带宽是独享的2、带宽单线还是双线,电信还是网通   我们是多线(中国电信、联通、移动、教育网等)接入,确保全国用户访问畅通3、5M带宽怎么理解“5M带宽”是指带宽总出口是5M,下行5M,上行不限4、带宽的价格     了解带宽价格,可以去云服务器自定义配置页面选择查看。http://buy.aliyun.com/?spm=5176.377823.12.25.7j1Mv05、多台服务器之间的内网通信带宽是多少?  不同区域之间云服务器、RDS、OSS内网不互通,同区域之间内网的通信带宽峰值2G ------------------------- RDS常见问题:http://help.aliyun.com/guide?spm=0.0.0.42.PToA7p&lastSortId=4301、RDS数据库连接数是什么意思?  数据库连接数表示应用程序可以同时连接数据库的数量,包括任意连接到数据库的连接均计算在内。 与您应用程序或者网站能够支持的最大用户数没有关系。2、RDS数据库 的MySQL和SQL Server是哪个版本?   RDS For MySQL使用原生MySQL 5.1.61 , 并融入了阿里DBA团队的MySQL补丁;  RDS For SQL Server使用Microsoft SQL Server 2008 R2 SP1 Enterprise English Edition3、一个数据库实例最多有多少个数据库?  一个MySQL数据库实例最多可以包含200个数据库,一个SQL Server数据库实例最多可以包含5个数据库。4、RDS数据库可以升级么?     如果是指数据库版本,RDS目前支持固定版本。RDS for MySQL会融入大量用户需要的补丁,包括功能性的,安全性,稳定性等方面,另外RDS for SQL Server会定期进行数据库补丁升级,包括安全补丁,功能补丁,稳定补丁等,但数据库版本支持固定版本。  如果是规格升级,RDS支持多种规格,用户可以根据自身需要升级到相应的产品规格。5、RDS流量收费吗?  内网传输是免费的(如云服务器M和RDS之间传输);公网传输按照1元/G的标准收费。不到1G的不收费,例如,1.5G按照1G收费。
chaipanpan 2019-12-02 00:52:43 0 浏览量 回答数 0

回答

二、节点常见问题: http://help.aliyun.com/guide?spm=0.0.0.57.g0RHts&helpId=1496 1、什么线路;   我们的服务器是BGP多线(中国电信、联通、移动、教育网等)接入,确保全国用户访问畅通。 2、节点地理位置;   我们有华东杭州节点和华东青岛节点,没有国外节点 3、能否指定节点位置;   可以根据您的需求选择华东杭州节点或者华东青岛节点 4、试用后节点可以选择么?    阿里云隆重推出华东青岛节点和华东杭州节点。目前所有申请试用的服务器默认华东青岛节点,因服务器不可更换节点,若您试用下来觉得OK可以直接对该台服务器进行续费;如需更换节点,请重新新购。 更多区域使用帮助详见: http://bbs.aliyun.com/read.php?spm=0.0.0.49.GTSotb&tid=130553 ------------------------- 三、配置升级常见问题:http://help.aliyun.com/guide?spm=0.0.0.58.qezBDB&helpId=14981、服务器或者配置能否升级  我们的服务器支持自定义升级,可以根据用户需求,针对cpu,内存,硬盘,带宽进行升级。其中带宽支持按天来进行升级。2、配置升级费用怎么计算  升级的费用是以补差价的形式,用户可以通过用户中心操作的时候,进行查看。3、是否无缝升级或者升级是否会有影响;  升级是无缝升级的,不会有影响。4、升级需要多少时间;  暂时升级需要停机操作大概15分钟左右。(ps:升级存储空间和带宽不需要停机,5分钟左右完成升级) ------------------------- 四、硬盘常见问题:http://help.aliyun.com/guide?spm=0.0.0.59.IXdOXT&helpId=15001、硬盘大小跟购买时不一致(挂载)购买须知有; 如果存在购买时大小差异的问题,需要手动挂载数据盘http://help.aliyun.com/manual?spm=0.0.0.109.aNdyV1&helpId=2712、硬盘能否进行分区;  硬盘分区和格式化for Windows 2008:http://help.aliyun.com/manual?spm=0.0.0.110.8O34rs&helpId=69.3、硬盘的IO性能怎么样;  硬盘的IO性能,可以第三方的测评  http://lusongsong.com/reed/451.html4、硬盘能否扩容;  硬盘可以按需扩容升级 ------------------------- 五、操作系统常见问题:http://help.aliyun.com/guide?spm=0.0.0.60.6fX9nz&helpId=15021、为什么没有win操作系统  内存512M的服务器只有linux系统,内存最少选择1G就有win系统; 2、操作系统是否要收费  linux系统免费,windows系统有版权费,每月30元。(ps:如果是从win操作之间的更换,无需补交费用;但是从lin操作更换成win操作系统,需要收取版权费用); 3、我能否自己安装或者升级操作系统  服务器需要使用我们提供的操作系统,不能自行添加或升级,操作系统可以打补丁; 4、服务器的登录账号密码是什么  linux操作系统的用户名为root,windows操作系统的用户名为administrator,密码将通过短信发送到用户云账号绑定的手机上,同时还会通过邮件发送至您注册时的邮箱里; 5、能否更换操作系统  可以更换操作系统 6、操作系统是否有图形界面  windows操作系统是桌面管理,linux操作系统是命令行,用户如果需要可以自己设置图形管理; 7、如何选择操作系统  操作系统选择建议http://bbs.aliyun.com/read.php?spm=0.0.0.71.0RoWff&tid=120515 ------------------------- 六、带宽常见问题:http://help.aliyun.com/guide?spm=0.0.0.61.yR3TzS&helpId=15041、带宽是否独享  我们提供的带宽是独享的2、带宽单线还是双线,电信还是网通   我们是多线(中国电信、联通、移动、教育网等)接入,确保全国用户访问畅通3、5M带宽怎么理解“5M带宽”是指带宽总出口是5M,下行5M,上行不限4、带宽的价格     了解带宽价格,可以去云服务器自定义配置页面选择查看。http://buy.aliyun.com/?spm=5176.377823.12.25.7j1Mv05、多台服务器之间的内网通信带宽是多少?  不同区域之间云服务器、RDS、OSS内网不互通,同区域之间内网的通信带宽峰值2G ------------------------- RDS常见问题:http://help.aliyun.com/guide?spm=0.0.0.42.PToA7p&lastSortId=4301、RDS数据库连接数是什么意思?  数据库连接数表示应用程序可以同时连接数据库的数量,包括任意连接到数据库的连接均计算在内。 与您应用程序或者网站能够支持的最大用户数没有关系。2、RDS数据库 的MySQL和SQL Server是哪个版本?   RDS For MySQL使用原生MySQL 5.1.61 , 并融入了阿里DBA团队的MySQL补丁;  RDS For SQL Server使用Microsoft SQL Server 2008 R2 SP1 Enterprise English Edition3、一个数据库实例最多有多少个数据库?  一个MySQL数据库实例最多可以包含200个数据库,一个SQL Server数据库实例最多可以包含5个数据库。4、RDS数据库可以升级么?     如果是指数据库版本,RDS目前支持固定版本。RDS for MySQL会融入大量用户需要的补丁,包括功能性的,安全性,稳定性等方面,另外RDS for SQL Server会定期进行数据库补丁升级,包括安全补丁,功能补丁,稳定补丁等,但数据库版本支持固定版本。  如果是规格升级,RDS支持多种规格,用户可以根据自身需要升级到相应的产品规格。5、RDS流量收费吗?  内网传输是免费的(如云服务器M和RDS之间传输);公网传输按照1元/G的标准收费。不到1G的不收费,例如,1.5G按照1G收费。 ------------------------- Re:回 40楼(老任) 的帖子 您好,无论是更换操作系统还是升级配置IP都不会变化的,请知晓,谢谢~ ------------------------- Re:回 41楼(兔子) 的帖子 您好,windows系统30元的版权费现在已经取消了,请知晓,谢谢~ ------------------------- Re:回 44楼(云中漫步) 的帖子 您好,不能自己安装哦,如果遇到其他技术问题可以联系我们售后技术工程师协助解决的,请知晓,谢谢~
chaipanpan 2019-12-02 00:12:42 0 浏览量 回答数 0

问题

新手教程:阿里云主机Linux系统运用LuManager(LUM)配置环境教程

    阿里云主机我想各位同学都知道。几乎阿里云现在在云主机这块应该来说是行业的领航者。每隔一段时间都会有很新的活动,让很多站长都想去参加这个活动。很多站长以前都是用国内的IDC虚拟空间,很少碰到自己需要去搭配生...
hjytub2 2019-12-01 20:58:22 15677 浏览量 回答数 10

问题

新手教程:阿里云主机Linux系统运用LuManager(LUM)配置环境教程

[font=Tahoma, 'Microsoft Yahei', Simsun]       阿里云主机我想各位同学都知道。几乎阿里云现在在云主机这块应该来说是行业的领航者。每隔一段时间都会有很新的活动,...
hjytub2 2019-12-01 20:58:22 16356 浏览量 回答数 3

问题

阿里云主机Linux系统运用LuManager(LUM)配置环境教程

[font=Tahoma, 'Microsoft Yahei', Simsun]     阿里云主机我想各位同学都知道。几乎阿里云现在在云主机这块应该来说是行业的领航者。每隔一段时间都会有很新的活动,让...
hjytub2 2019-12-01 20:58:21 8489 浏览量 回答数 0

回答

PHP面试干货 1、进程和线程 进程和线程都是由操作系统所体会的程序运行的基本单元,系统利用该基本单元实现系统对应用的并发性。进程和线程的区别在于: 简而言之,一个程序至少有一个进程,一个进程至少有一个线程. 线程的划分尺度小于进程,使得多线程程序的并发性高。 另外,进程在执行过程中拥有独立的内存单元,而多个线程共享内存,从而极大地提高了程序的运行效率。 线程在执行过程中与进程还是有区别的。每个独立的线程有一个程序运行的入口、顺序执行序列和程序的出口。但是线程不能够独立执行,必须依存在应用程序中,由应用程序提供多个线程执行控制。 从逻辑角度来看,多线程的意义在于一个应用程序中,有多个执行部分可以同时执行。但操作系统并没有将多个线程看做多个独立的应用,来实现进程的调度和管理以及资源分配。这就是进程和线程的重要区别。 2、apache默认使用进程管理还是线程管理?如何判断并设置最大连接数? 一个进程可以开多个线程 默认是进程管理 默认有一个主进程 Linux: ps -aux | grep httpd | more 一个子进程代表一个用户的连接 Conf/extra/httpd-mpm.conf 多路功能模块 http -l 查询当前apache处于什么模式下 3、单例模式 单例模式需求:只能实例化产生一个对象 如何实现: 私有化构造函数 禁止克隆对象 提供一个访问这个实例的公共的静态方法(通常为getInstance方法),从而返回唯一对象 需要一个保存类的静态属性 class demo { private static $MyObject; //保存对象的静态属性 private function __construct(){ //私有化构造函数 } private function __clone(){ //禁止克隆 } public static function getInstance(){ if(! (self::$MyObject instanceof self)){ self::$MyObject = new self; } return self::$MyObject; } } 4、安装完Apache后,在http.conf中配置加载PHP文件以Apache模块的方式安装PHP,在文件http.conf中首先要用语句LoadModule php5_module "e:/php/php5apache2.dll"动态装载PHP模块,然后再用语句AddType application/x-httpd-php .php 使得Apache把所有扩展名为PHP的文件都作为PHP脚本处理 5、debug_backtrace()函数能返回脚本里的任意行中调用的函数的名称。该函数同时还经常被用在调试中,用来判断错误是如何发生的 function one($str1, $str2) { two("Glenn", "Quagmire"); } function two($str1, $str2) { three("Cleveland", "Brown"); } function three($str1, $str2) { print_r(debug_backtrace()); } one("Peter", "Griffin"); Array ( [0] => Array ( [file] => D:\www\test\result.php [line] => 9 [function] => three [args] => Array ( [0] => Cleveland [1] => Brown ) ) [1] => Array ( [file] => D:\www\test\result.php [line] => 5 [function] => two [args] => Array ( [0] => Glenn [1] => Quagmire ) ) [2] => Array ( [file] => D:\www\test\result.php [line] => 16 [function] => one [args] => Array ( [0] => Peter [1] => Griffin ) ) ) 6、输出用户的IP地址,并且判断用户的IP地址是否在192.168.1.100 — 192.168.1.150之间 echo $ip=getenv('REMOTE_ADDR'); $ip=str_replace('.','',$ip); if($ip<1921681150 && $ip>1921681100) { echo 'ip在192.168.1.100—–192.168.1.150之间'; } else { echo 'ip不在192.168.1.100—–192.168.1.150之间'; } 7、请将2维数组按照name的长度进行重新排序,按照顺序将id赋值 $tarray = array( array('id' => 0, 'name' => '123'), array('id' => 0, 'name' => '1234'), array('id' => 0, 'name' => '1235'), array('id' => 0, 'name' => '12356'), array('id' => 0, 'name' => '123abc') ); foreach($tarray as $key=>$val) { $c[]=$val['name']; } function aa($a,$b) { if(strlen($a)==strlen($b)) return 0; return strlen($a)>strlen($b)?-1:1; } usort($c,'aa'); $len=count($c); for($i=0;$i<$len;$i++) { $t[$i]['id']=$i+1; $t[$i]['name']=$c[$i]; } print_r($t); 8、表单数据提交方式POST和GET的区别,URL地址传递的数据最大长度是多少? POST方式提交数据用户不可见,是数据更安全,最大长度不受限制,而GET方式传值在URL地址可以看到,相对不安全,对大长度是2048字节。 9、SESSION和COOKIE的作用和区别,SESSION信息的存储方式,如何进行遍历 SESSION和COOKIE都能够使值在页面之间进行传递,SESSION存储在服务器端,数据更安全,COOKIE保存在客户端,用户使用手段可以进行修改,SESSION依赖于COOKIE进行传递的。Session遍历使用$_SESSION[]取值,cookie遍历使用$_COOKIE[]取值。 10、什么是数据库索引,主键索引,唯一索引的区别,索引的缺点是什么 索引用来快速地寻找那些具有特定值的记录。 主键索引和唯一索引的区别:主键是一种唯一性索引,但它必须指定为“PRIMARY KEY”,每个表只能有一个主键。唯一索引索引列的所有值都只能出现一次,即必须唯一。 索引的缺点: 1、创建索引和维护索引要耗费时间,这种时间随着数据量的增加而增加。 2、索引需要占用物理空间,除了数据表占数据空间之外,每一个索引还要占一定的物理空间,如果要建立聚簇索引,需要的空间就会更大。 3、当对表中的数据进行增加、删除、修改的时候,索引也要动态的维护,这样就降低了数据的维护速度。 11、数据库设计时,常遇到的性能瓶颈有哪些,常有的解决方案 瓶颈主要有: 1、磁盘搜索 优化方法是:将数据分布在多个磁盘上 2、磁盘读/写 优化方法是:从多个磁盘并行读写。 3、CPU周期 优化方法:扩充内存 4、内存带宽 12、include和require区别 include引入文件的时候,如果碰到错误,会给出提示,并继续运行下边的代码。 require引入文件的时候,如果碰到错误,会给出提示,并停止运行下边的代码。 13、文件上传时设计到点 和文件上传有关的php.ini配置选项(File Uploads): file_uploads=On/Off:文件是否允许上传 upload_max_filesize上传文件时,单个文件的最大大小 post_max_size:提交表单时,整个post表单的最大大小 max_file_uploads =20上传文件的个数 内存占用,脚本最大执行时间也间接影响到文件的上传 14、header常见状态 //200 正常状态 header('HTTP/1.1 200 OK'); // 301 永久重定向,记得在后面要加重定向地址 Location:$url header('HTTP/1.1 301 Moved Permanently'); // 重定向,其实就是302 暂时重定向 header('Location: http://www.maiyoule.com/'); // 设置页面304 没有修改 header('HTTP/1.1 304 Not Modified'); // 显示登录框, header('HTTP/1.1 401 Unauthorized'); header('WWW-Authenticate: Basic realm="登录信息"'); echo '显示的信息!'; // 403 禁止访问 header('HTTP/1.1 403 Forbidden'); // 404 错误 header('HTTP/1.1 404 Not Found'); // 500 服务器错误 header('HTTP/1.1 500 Internal Server Error'); // 3秒后重定向指定地址(也就是刷新到新页面与 <meta http-equiv="refresh" content="10;http://www.maiyoule.com/ /> 相同) header('Refresh: 3; url=http://www.maiyoule.com/'); echo '10后跳转到http://www.maiyoule.com'; // 重写 X-Powered-By 值 header('X-Powered-By: PHP/5.3.0'); header('X-Powered-By: Brain/0.6b'); //设置上下文语言 header('Content-language: en'); // 设置页面最后修改时间(多用于防缓存) $time = time() - 60; //建议使用filetime函数来设置页面缓存时间 header('Last-Modified: '.gmdate('D, d M Y H:i:s', $time).' GMT'); // 设置内容长度 header('Content-Length: 39344'); // 设置头文件类型,可以用于流文件或者文件下载 header('Content-Type: application/octet-stream'); header('Content-Disposition: attachment; filename="example.zip"'); header('Content-Transfer-Encoding: binary'); readfile('example.zip');//读取文件到客户端 //禁用页面缓存 header('Cache-Control: no-cache, no-store, max-age=0, must-revalidate'); header('Expires: Mon, 26 Jul 1997 05:00:00 GMT'); header('Pragma: no-cache'); //设置页面头信息 header('Content-Type: text/html; charset=iso-8859-1'); header('Content-Type: text/html; charset=utf-8'); header('Content-Type: text/plain'); header('Content-Type: image/jpeg'); header('Content-Type: application/zip'); header('Content-Type: application/pdf'); header('Content-Type: audio/mpeg'); header('Content-Type: application/x-shockwave-flash'); //.... 至于Content-Type 的值 可以去查查 w3c 的文档库,那里很丰富 15、ORM和ActiveRecord ORM:object relation mapping,即对象关系映射,简单的说就是对象模型和关系模型的一种映射。为什么要有这么一个映射?很简单,因为现在的开发语言基本都是oop的,但是传统的数据库却是关系型的。为了可以靠贴近面向对象开发,我们想要像操作对象一样操作数据库。还可以隔离底层数据库层,我们不需要关心我们使用的是mysql还是其他的关系型数据库 ActiveRecord也属于ORM层,由Rails最早提出,遵循标准的ORM模型:表映射到记录,记录映射到对象,字段映射到对象属性。配合遵循的命名和配置惯例,能够很大程度的快速实现模型的操作,而且简洁易懂。 ActiveRecord的主要思想是: 1. 每一个数据库表对应创建一个类,类的每一个对象实例对应于数据库中表的一行记录;通常表的每个字段在类中都有相应的Field; 2. ActiveRecord同时负责把自己持久化,在ActiveRecord中封装了对数据库的访问,即CURD;; 3. ActiveRecord是一种领域模型(Domain Model),封装了部分业务逻辑; ActiveRecord比较适用于: 1. 业务逻辑比较简单,当你的类基本上和数据库中的表一一对应时, ActiveRecord是非常方便的,即你的业务逻辑大多数是对单表操作; 2. 当发生跨表的操作时, 往往会配合使用事务脚本(Transaction Script),把跨表事务提升到事务脚本中; 3. ActiveRecord最大优点是简单, 直观。 一个类就包括了数据访问和业务逻辑. 如果配合代码生成器使用就更方便了; 这些优点使ActiveRecord特别适合WEB快速开发。 16、斐波那契方法,也就是1 1 2 3 5 8 ……,这里给出两种方法,大家可以对比下,看看哪种快,以及为什么 function fibonacci($n){ if($n == 0){ return 0; } if($n == 1){ return 1; } return fibonacci($n-1)+fibonacci($n-2); } function fibonacci($n){ for($i=0; $i<$n; $i++){ $r[] = $i<2 ? 1 : $r[$i-1]+$r[$i-2]; } return $r[--$i]; } 17、约瑟夫环,也就是常见的数猴子,n只猴子围成一圈,每只猴子下面标了编号,从1开始数起,数到m那么第m只猴子便退出,依次类推,每数到m,那么那个位置的猴子退出,那么最后剩下的猴子下的编号是啥。 function yuesefu($n,$m) { $r=0; for($i=2; $i<=$n; $i++) { $r=($r+$m)%$i; } return $r+1; } 18、冒泡排序,大致是临近的数字两两进行比较,按照从小到大或者从大到小的顺序进行交换,这样一趟过去后,最大或最小的数字被交换到了最后一位,然后再从头开始进行两两比较交换,直到倒数第二位时结束 function bubbleSort($arr){ for($i=0, $len=count($arr); $i<$len; $i++){ for($j=0; $j<$len; $j++){ if($arr[$i]<$arr[$j]){ $tmp = $arr[$j]; $arr[$j] = $arr[$i]; $arr[$i] = $tmp; } } } return $arr; } 19、快速排序,也就是找出一个元素(理论上可以随便找一个)作为基准,然后对数组进行分区操作,使基准左边元素的值都不大于基准值,基准右边的元素值 都不小于基准值,如此作为基准的元素调整到排序后的正确位置。递归快速排序,将其他n-1个元素也调整到排序后的正确位置。最后每个元素都是在排序后的正 确位置,排序完成。所以快速排序算法的核心算法是分区操作,即如何调整基准的位置以及调整返回基准的最终位置以便分治递归。 function quickSort($arr){ $len = count($arr); if($len <=1){ return $arr; } $key = $arr[0]; $leftArr = $rightArr= array(); for($i=1; $i<$len; $i++){ if($arr[$i] <= $key){ $leftArr[] = $arr[$i]; } else{ $rightArr[] = $arr[$i]; } } $leftArr = quickSort($leftArr); $rightArr = quickSort($rightArr); return array_merge($leftArr, array($key), $rightArr); } 20、(递归的)列出目录下所有文件及目录,这里也有两种方法 function listDir($path){ $res = dir($path); while($file = $res->read()){ if($file == '.' || $file == '..'){ continue; } if(is_dir($path . '/' .$file)){ echo $path . '/' .$file . "\r\n"; listDir($path . '/' .$file); } else{ echo $path . '/' .$file . "\r\n"; } } $res->close(); } function listDir($path){ if(is_dir($path)){ if(FALSE !== ($res = opendir($path))){ while(FALSE !== ($file = readdir($res))){ if($file == '.' || $file == '..'){ continue; } $subPath = $path . '/' . $file; if(is_dir($subPath)){ echo $subPath . "\r\n"; listDir($subPath); } else{ echo $subPath . "\r\n"; } } } } } 21、找出相对的目录,比如/a/b/c/d/e.php相对于/a/b/13/34/c.php是/c/d/ function ralativePath($a, $b){ $a = explode('/', dirname($a)); $b = explode('/', dirname($b)); $c = '/'; foreach ($a as $k=> $v){ if($v != $b[$k]){ $c .= $v . '/'; } } echo $c; } 22、快速找出url中php后缀 function get_ext($url){ $data = parse_url($url); return pathinfo($data['path'], PATHINFO_EXTENSION); } 23、正则题,使用正则抓取网页,以网页meta为utf8为准,若是抓取的网页编码为big5之类的,需要转化为utf8再收录 function preg_meta($meta){ $replacement = "\\1utf8\\6\\7"; $pattern = '#(<meta\s+http-equiv=(\'|"|)Content-Type(\'|"|)\s+content=(\'|"|)text/html; charset=)(\w+)(\'|"|)(>)#i'; return preg_replace($pattern, $replacement, $meta); } echo preg_meta("<meta http-equiv=Content-Type content='text/html; charset=big5'><META http-equiv=\"Content-Type\" content='text/html; charset=big5'>"); 24、不用php的反转函数倒序输出字符串,如abc,反序输出cba function revstring($str){ for($i=strlen($str)-1; $i>=0; $i--){ echo $str{$i}; } } revstring('abc'); 25、常见端口 TCP 21端口:FTP 文件传输服务 SSH 22端口:SSH连接linux服务器,通过SSH连接可以远程管理Linux等设备 TCP 23端口:TELNET 终端仿真服务 TCP 25端口:SMTP 简单邮件传输服务 UDP 53端口:DNS 域名解析服务 TCP 80端口:HTTP 超文本传输服务 TCP 110端口:POP3 “邮局协议版本3”使用的端口 TCP 443端口:HTTPS 加密的超文本传输服务 TCP 1521端口:Oracle数据库服务 TCP 1863端口:MSN Messenger的文件传输功能所使用的端口 TCP 3389端口:Microsoft RDP 微软远程桌面使用的端口 TCP 5631端口:Symantec pcAnywhere 远程控制数据传输时使用的端口 UDP 5632端口:Symantec pcAnywhere 主控端扫描被控端时使用的端口 TCP 5000端口:MS SQL Server使用的端口 UDP 8000端口:腾讯QQ 26、linux常用的命令 top linux进程实时监控 ps 在Linux中是查看进程的命令。ps查看正处于Running的进程 mv 为文件或目录改名或将文件由一个目录移入另一个目录中。 find 查找文件 df 可显示所有文件系统对i节点和磁盘块的使用情况。 cat 打印文件类容 chmod 变更文件或目录的权限 chgrp 文件或目录的权限的掌控以拥有者及所诉群组来管理。可以使用chgrp指令取变更文件与目录所属群组 grep 是一种强大的文本搜索工具,它能使用正则表达式搜索文本,并把匹 配的行打印出来。 wc 为统计指定文件中的字节数、字数、行数,并将统计结果显示输出 27、对于大流量的网站,您采用什么样的方法来解决访问量问题 首先,确认服务器硬件是否足够支持当前的流量 其次,优化数据库访问。 第三,禁止外部的盗链。 第四,控制大文件的下载。 第五,使用不同主机分流主要流量 第六,使用流量分析统计软件 28、$_SERVER常用的字段 $_SERVER['PHP_SELF'] #当前正在执行脚本的文件名 $_SERVER['SERVER_NAME'] #当前运行脚本所在服务器主机的名称 $_SERVER['REQUEST_METHOD'] #访问页面时的请求方法。例如:“GET”、“HEAD”,“POST”,“PUT” $_SERVER['QUERY_STRING'] #查询(query)的字符串 $_SERVER['HTTP_HOST'] #当前请求的 Host: 头部的内容 $_SERVER['HTTP_REFERER'] #链接到当前页面的前一页面的 URL 地址 $_SERVER['REMOTE_ADDR'] #正在浏览当前页面用户的 IP 地址 $_SERVER['REMOTE_HOST'] #正在浏览当前页面用户的主机名 $_SERVER['SCRIPT_FILENAME'] #当前执行脚本的绝对路径名 $_SERVER['SCRIPT_NAME'] #包含当前脚本的路径。这在页面需要指向自己时非常有用 $_SERVER['REQUEST_URI'] #访问此页面所需的 URI。例如,“/index.html” 29、安装php扩展 进入扩展的目录 phpize命令得到configure文件 ./configure --with-php-config=/usr/local/php/bin/php-config make & make install 在php.ini中加入扩展名称.so 重启web服务器(nginx/apache) 30、php-fpm与nginx PHP-FPM也是一个第三方的FastCGI进程管理器,它是作为PHP的一个补丁来开发的,在安装的时候也需要和PHP源码一起编译,也就是说PHP-FPM被编译到PHP内核中,因此在处理性能方面更加优秀;同时它在处理高并发方面也比spawn-fcgi引擎好很多,因此,推荐Nginx+PHP/PHP-FPM这个组合对PHP进行解析。 FastCGI 的主要优点是把动态语言和HTTP Server分离开来,所以Nginx与PHP/PHP-FPM经常被部署在不同的服务器上,以分担前端Nginx服务器的压力,使Nginx专一处理静态请求和转发动态请求,而PHP/PHP-FPM服务器专一解析PHP动态请求 #fastcgi FastCGI是一个可伸缩地、高速地在HTTP server和动态脚本语言间通信的接口。多数流行的HTTP server都支持FastCGI,包括Apache、Nginx和lighttpd等,同时,FastCGI也被许多脚本语言所支持,其中就有PHP。 FastCGI是从CGI发展改进而来的。传统CGI接口方式的主要缺点是性能很差,因为每次HTTP服务器遇到动态程序时都需要重新启动脚本解析器来执行解析,然后结果被返回给HTTP服务器。这在处理高并发访问时,几乎是不可用的。另外传统的CGI接口方式安全性也很差,现在已经很少被使用了。 FastCGI接口方式采用C/S结构,可以将HTTP服务器和脚本解析服务器分开,同时在脚本解析服务器上启动一个或者多个脚本解析守护进程。当HTTP服务器每次遇到动态程序时,可以将其直接交付给FastCGI进程来执行,然后将得到的结果返回给浏览器。这种方式可以让HTTP服务器专一地处理静态请求或者将动态脚本服务器的结果返回给客户端,这在很大程度上提高了整个应用系统的性能。 Nginx+FastCGI运行原理 Nginx不支持对外部程序的直接调用或者解析,所有的外部程序(包括PHP)必须通过FastCGI接口来调用。FastCGI接口在Linux下是socket,(这个socket可以是文件socket,也可以是ip socket)。为了调用CGI程序,还需要一个FastCGI的wrapper(wrapper可以理解为用于启动另一个程序的程序),这个wrapper绑定在某个固定socket上,如端口或者文件socket。当Nginx将CGI请求发送给这个socket的时候,通过FastCGI接口,wrapper接纳到请求,然后派生出一个新的线程,这个线程调用解释器或者外部程序处理脚本并读取返回数据;接着,wrapper再将返回的数据通过FastCGI接口,沿着固定的socket传递给Nginx;最后,Nginx将返回的数据发送给客户端,这就是Nginx+FastCGI的整个运作过程。 31、ajax全称“Asynchronous Javascript And XML”(异步JavaScript和XML)
小川游鱼 2019-12-02 01:41:29 0 浏览量 回答数 0

回答

PHP面试干货 1、进程和线程 进程和线程都是由操作系统所体会的程序运行的基本单元,系统利用该基本单元实现系统对应用的并发性。进程和线程的区别在于: 简而言之,一个程序至少有一个进程,一个进程至少有一个线程. 线程的划分尺度小于进程,使得多线程程序的并发性高。 另外,进程在执行过程中拥有独立的内存单元,而多个线程共享内存,从而极大地提高了程序的运行效率。 线程在执行过程中与进程还是有区别的。每个独立的线程有一个程序运行的入口、顺序执行序列和程序的出口。但是线程不能够独立执行,必须依存在应用程序中,由应用程序提供多个线程执行控制。 从逻辑角度来看,多线程的意义在于一个应用程序中,有多个执行部分可以同时执行。但操作系统并没有将多个线程看做多个独立的应用,来实现进程的调度和管理以及资源分配。这就是进程和线程的重要区别。 2、apache默认使用进程管理还是线程管理?如何判断并设置最大连接数? 一个进程可以开多个线程 默认是进程管理 默认有一个主进程 Linux: ps -aux | grep httpd | more 一个子进程代表一个用户的连接 Conf/extra/httpd-mpm.conf 多路功能模块 http -l 查询当前apache处于什么模式下 3、单例模式 单例模式需求:只能实例化产生一个对象 如何实现: 私有化构造函数 禁止克隆对象 提供一个访问这个实例的公共的静态方法(通常为getInstance方法),从而返回唯一对象 需要一个保存类的静态属性 class demo { private static $MyObject; //保存对象的静态属性 private function __construct(){ //私有化构造函数 } private function __clone(){ //禁止克隆 } public static function getInstance(){ if(! (self::$MyObject instanceof self)){ self::$MyObject = new self; } return self::$MyObject; } } 4、安装完Apache后,在http.conf中配置加载PHP文件以Apache模块的方式安装PHP,在文件http.conf中首先要用语句LoadModule php5_module "e:/php/php5apache2.dll"动态装载PHP模块,然后再用语句AddType application/x-httpd-php .php 使得Apache把所有扩展名为PHP的文件都作为PHP脚本处理 5、debug_backtrace()函数能返回脚本里的任意行中调用的函数的名称。该函数同时还经常被用在调试中,用来判断错误是如何发生的 function one($str1, $str2) { two("Glenn", "Quagmire"); } function two($str1, $str2) { three("Cleveland", "Brown"); } function three($str1, $str2) { print_r(debug_backtrace()); } one("Peter", "Griffin"); Array ( [0] => Array ( [file] => D:\www\test\result.php [line] => 9 [function] => three [args] => Array ( [0] => Cleveland [1] => Brown ) ) [1] => Array ( [file] => D:\www\test\result.php [line] => 5 [function] => two [args] => Array ( [0] => Glenn [1] => Quagmire ) ) [2] => Array ( [file] => D:\www\test\result.php [line] => 16 [function] => one [args] => Array ( [0] => Peter [1] => Griffin ) ) ) 6、输出用户的IP地址,并且判断用户的IP地址是否在192.168.1.100 — 192.168.1.150之间 echo $ip=getenv('REMOTE_ADDR'); $ip=str_replace('.','',$ip); if($ip<1921681150 && $ip>1921681100) { echo 'ip在192.168.1.100—–192.168.1.150之间'; } else { echo 'ip不在192.168.1.100—–192.168.1.150之间'; } 7、请将2维数组按照name的长度进行重新排序,按照顺序将id赋值 $tarray = array( array('id' => 0, 'name' => '123'), array('id' => 0, 'name' => '1234'), array('id' => 0, 'name' => '1235'), array('id' => 0, 'name' => '12356'), array('id' => 0, 'name' => '123abc') ); foreach($tarray as $key=>$val) { $c[]=$val['name']; } function aa($a,$b) { if(strlen($a)==strlen($b)) return 0; return strlen($a)>strlen($b)?-1:1; } usort($c,'aa'); $len=count($c); for($i=0;$i<$len;$i++) { $t[$i]['id']=$i+1; $t[$i]['name']=$c[$i]; } print_r($t); 8、表单数据提交方式POST和GET的区别,URL地址传递的数据最大长度是多少? POST方式提交数据用户不可见,是数据更安全,最大长度不受限制,而GET方式传值在URL地址可以看到,相对不安全,对大长度是2048字节。 9、SESSION和COOKIE的作用和区别,SESSION信息的存储方式,如何进行遍历 SESSION和COOKIE都能够使值在页面之间进行传递,SESSION存储在服务器端,数据更安全,COOKIE保存在客户端,用户使用手段可以进行修改,SESSION依赖于COOKIE进行传递的。Session遍历使用$_SESSION[]取值,cookie遍历使用$_COOKIE[]取值。 10、什么是数据库索引,主键索引,唯一索引的区别,索引的缺点是什么 索引用来快速地寻找那些具有特定值的记录。 主键索引和唯一索引的区别:主键是一种唯一性索引,但它必须指定为“PRIMARY KEY”,每个表只能有一个主键。唯一索引索引列的所有值都只能出现一次,即必须唯一。 索引的缺点: 1、创建索引和维护索引要耗费时间,这种时间随着数据量的增加而增加。 2、索引需要占用物理空间,除了数据表占数据空间之外,每一个索引还要占一定的物理空间,如果要建立聚簇索引,需要的空间就会更大。 3、当对表中的数据进行增加、删除、修改的时候,索引也要动态的维护,这样就降低了数据的维护速度。 11、数据库设计时,常遇到的性能瓶颈有哪些,常有的解决方案 瓶颈主要有: 1、磁盘搜索 优化方法是:将数据分布在多个磁盘上 2、磁盘读/写 优化方法是:从多个磁盘并行读写。 3、CPU周期 优化方法:扩充内存 4、内存带宽 12、include和require区别 include引入文件的时候,如果碰到错误,会给出提示,并继续运行下边的代码。 require引入文件的时候,如果碰到错误,会给出提示,并停止运行下边的代码。 13、文件上传时设计到点 和文件上传有关的php.ini配置选项(File Uploads): file_uploads=On/Off:文件是否允许上传 upload_max_filesize上传文件时,单个文件的最大大小 post_max_size:提交表单时,整个post表单的最大大小 max_file_uploads =20上传文件的个数 内存占用,脚本最大执行时间也间接影响到文件的上传 14、header常见状态 //200 正常状态 header('HTTP/1.1 200 OK'); // 301 永久重定向,记得在后面要加重定向地址 Location:$url header('HTTP/1.1 301 Moved Permanently'); // 重定向,其实就是302 暂时重定向 header('Location: http://www.maiyoule.com/'); // 设置页面304 没有修改 header('HTTP/1.1 304 Not Modified'); // 显示登录框, header('HTTP/1.1 401 Unauthorized'); header('WWW-Authenticate: Basic realm="登录信息"'); echo '显示的信息!'; // 403 禁止访问 header('HTTP/1.1 403 Forbidden'); // 404 错误 header('HTTP/1.1 404 Not Found'); // 500 服务器错误 header('HTTP/1.1 500 Internal Server Error'); // 3秒后重定向指定地址(也就是刷新到新页面与 <meta http-equiv="refresh" content="10;http://www.maiyoule.com/ /> 相同) header('Refresh: 3; url=http://www.maiyoule.com/'); echo '10后跳转到http://www.maiyoule.com'; // 重写 X-Powered-By 值 header('X-Powered-By: PHP/5.3.0'); header('X-Powered-By: Brain/0.6b'); //设置上下文语言 header('Content-language: en'); // 设置页面最后修改时间(多用于防缓存) $time = time() - 60; //建议使用filetime函数来设置页面缓存时间 header('Last-Modified: '.gmdate('D, d M Y H:i:s', $time).' GMT'); // 设置内容长度 header('Content-Length: 39344'); // 设置头文件类型,可以用于流文件或者文件下载 header('Content-Type: application/octet-stream'); header('Content-Disposition: attachment; filename="example.zip"'); header('Content-Transfer-Encoding: binary'); readfile('example.zip');//读取文件到客户端 //禁用页面缓存 header('Cache-Control: no-cache, no-store, max-age=0, must-revalidate'); header('Expires: Mon, 26 Jul 1997 05:00:00 GMT'); header('Pragma: no-cache'); //设置页面头信息 header('Content-Type: text/html; charset=iso-8859-1'); header('Content-Type: text/html; charset=utf-8'); header('Content-Type: text/plain'); header('Content-Type: image/jpeg'); header('Content-Type: application/zip'); header('Content-Type: application/pdf'); header('Content-Type: audio/mpeg'); header('Content-Type: application/x-shockwave-flash'); //.... 至于Content-Type 的值 可以去查查 w3c 的文档库,那里很丰富 15、ORM和ActiveRecord ORM:object relation mapping,即对象关系映射,简单的说就是对象模型和关系模型的一种映射。为什么要有这么一个映射?很简单,因为现在的开发语言基本都是oop的,但是传统的数据库却是关系型的。为了可以靠贴近面向对象开发,我们想要像操作对象一样操作数据库。还可以隔离底层数据库层,我们不需要关心我们使用的是mysql还是其他的关系型数据库 ActiveRecord也属于ORM层,由Rails最早提出,遵循标准的ORM模型:表映射到记录,记录映射到对象,字段映射到对象属性。配合遵循的命名和配置惯例,能够很大程度的快速实现模型的操作,而且简洁易懂。 ActiveRecord的主要思想是: 1. 每一个数据库表对应创建一个类,类的每一个对象实例对应于数据库中表的一行记录;通常表的每个字段在类中都有相应的Field; 2. ActiveRecord同时负责把自己持久化,在ActiveRecord中封装了对数据库的访问,即CURD;; 3. ActiveRecord是一种领域模型(Domain Model),封装了部分业务逻辑; ActiveRecord比较适用于: 1. 业务逻辑比较简单,当你的类基本上和数据库中的表一一对应时, ActiveRecord是非常方便的,即你的业务逻辑大多数是对单表操作; 2. 当发生跨表的操作时, 往往会配合使用事务脚本(Transaction Script),把跨表事务提升到事务脚本中; 3. ActiveRecord最大优点是简单, 直观。 一个类就包括了数据访问和业务逻辑. 如果配合代码生成器使用就更方便了; 这些优点使ActiveRecord特别适合WEB快速开发。 16、斐波那契方法,也就是1 1 2 3 5 8 ……,这里给出两种方法,大家可以对比下,看看哪种快,以及为什么 function fibonacci($n){ if($n == 0){ return 0; } if($n == 1){ return 1; } return fibonacci($n-1)+fibonacci($n-2); } function fibonacci($n){ for($i=0; $i<$n; $i++){ $r[] = $i<2 ? 1 : $r[$i-1]+$r[$i-2]; } return $r[--$i]; } 17、约瑟夫环,也就是常见的数猴子,n只猴子围成一圈,每只猴子下面标了编号,从1开始数起,数到m那么第m只猴子便退出,依次类推,每数到m,那么那个位置的猴子退出,那么最后剩下的猴子下的编号是啥。 function yuesefu($n,$m) { $r=0; for($i=2; $i<=$n; $i++) { $r=($r+$m)%$i; } return $r+1; } 18、冒泡排序,大致是临近的数字两两进行比较,按照从小到大或者从大到小的顺序进行交换,这样一趟过去后,最大或最小的数字被交换到了最后一位,然后再从头开始进行两两比较交换,直到倒数第二位时结束 function bubbleSort($arr){ for($i=0, $len=count($arr); $i<$len; $i++){ for($j=0; $j<$len; $j++){ if($arr[$i]<$arr[$j]){ $tmp = $arr[$j]; $arr[$j] = $arr[$i]; $arr[$i] = $tmp; } } } return $arr; } 19、快速排序,也就是找出一个元素(理论上可以随便找一个)作为基准,然后对数组进行分区操作,使基准左边元素的值都不大于基准值,基准右边的元素值 都不小于基准值,如此作为基准的元素调整到排序后的正确位置。递归快速排序,将其他n-1个元素也调整到排序后的正确位置。最后每个元素都是在排序后的正 确位置,排序完成。所以快速排序算法的核心算法是分区操作,即如何调整基准的位置以及调整返回基准的最终位置以便分治递归。 function quickSort($arr){ $len = count($arr); if($len <=1){ return $arr; } $key = $arr[0]; $leftArr = $rightArr= array(); for($i=1; $i<$len; $i++){ if($arr[$i] <= $key){ $leftArr[] = $arr[$i]; } else{ $rightArr[] = $arr[$i]; } } $leftArr = quickSort($leftArr); $rightArr = quickSort($rightArr); return array_merge($leftArr, array($key), $rightArr); } 20、(递归的)列出目录下所有文件及目录,这里也有两种方法 function listDir($path){ $res = dir($path); while($file = $res->read()){ if($file == '.' || $file == '..'){ continue; } if(is_dir($path . '/' .$file)){ echo $path . '/' .$file . "\r\n"; listDir($path . '/' .$file); } else{ echo $path . '/' .$file . "\r\n"; } } $res->close(); } function listDir($path){ if(is_dir($path)){ if(FALSE !== ($res = opendir($path))){ while(FALSE !== ($file = readdir($res))){ if($file == '.' || $file == '..'){ continue; } $subPath = $path . '/' . $file; if(is_dir($subPath)){ echo $subPath . "\r\n"; listDir($subPath); } else{ echo $subPath . "\r\n"; } } } } } 21、找出相对的目录,比如/a/b/c/d/e.php相对于/a/b/13/34/c.php是/c/d/ function ralativePath($a, $b){ $a = explode('/', dirname($a)); $b = explode('/', dirname($b)); $c = '/'; foreach ($a as $k=> $v){ if($v != $b[$k]){ $c .= $v . '/'; } } echo $c; } 22、快速找出url中php后缀 function get_ext($url){ $data = parse_url($url); return pathinfo($data['path'], PATHINFO_EXTENSION); } 23、正则题,使用正则抓取网页,以网页meta为utf8为准,若是抓取的网页编码为big5之类的,需要转化为utf8再收录 function preg_meta($meta){ $replacement = "\\1utf8\\6\\7"; $pattern = '#(<meta\s+http-equiv=(\'|"|)Content-Type(\'|"|)\s+content=(\'|"|)text/html; charset=)(\w+)(\'|"|)(>)#i'; return preg_replace($pattern, $replacement, $meta); } echo preg_meta("<meta http-equiv=Content-Type content='text/html; charset=big5'><META http-equiv=\"Content-Type\" content='text/html; charset=big5'>"); 24、不用php的反转函数倒序输出字符串,如abc,反序输出cba function revstring($str){ for($i=strlen($str)-1; $i>=0; $i--){ echo $str{$i}; } } revstring('abc'); 25、常见端口 TCP 21端口:FTP 文件传输服务 SSH 22端口:SSH连接linux服务器,通过SSH连接可以远程管理Linux等设备 TCP 23端口:TELNET 终端仿真服务 TCP 25端口:SMTP 简单邮件传输服务 UDP 53端口:DNS 域名解析服务 TCP 80端口:HTTP 超文本传输服务 TCP 110端口:POP3 “邮局协议版本3”使用的端口 TCP 443端口:HTTPS 加密的超文本传输服务 TCP 1521端口:Oracle数据库服务 TCP 1863端口:MSN Messenger的文件传输功能所使用的端口 TCP 3389端口:Microsoft RDP 微软远程桌面使用的端口 TCP 5631端口:Symantec pcAnywhere 远程控制数据传输时使用的端口 UDP 5632端口:Symantec pcAnywhere 主控端扫描被控端时使用的端口 TCP 5000端口:MS SQL Server使用的端口 UDP 8000端口:腾讯QQ 26、linux常用的命令 top linux进程实时监控 ps 在Linux中是查看进程的命令。ps查看正处于Running的进程 mv 为文件或目录改名或将文件由一个目录移入另一个目录中。 find 查找文件 df 可显示所有文件系统对i节点和磁盘块的使用情况。 cat 打印文件类容 chmod 变更文件或目录的权限 chgrp 文件或目录的权限的掌控以拥有者及所诉群组来管理。可以使用chgrp指令取变更文件与目录所属群组 grep 是一种强大的文本搜索工具,它能使用正则表达式搜索文本,并把匹 配的行打印出来。 wc 为统计指定文件中的字节数、字数、行数,并将统计结果显示输出 27、对于大流量的网站,您采用什么样的方法来解决访问量问题 首先,确认服务器硬件是否足够支持当前的流量 其次,优化数据库访问。 第三,禁止外部的盗链。 第四,控制大文件的下载。 第五,使用不同主机分流主要流量 第六,使用流量分析统计软件 28、$_SERVER常用的字段 $_SERVER['PHP_SELF'] #当前正在执行脚本的文件名 $_SERVER['SERVER_NAME'] #当前运行脚本所在服务器主机的名称 $_SERVER['REQUEST_METHOD'] #访问页面时的请求方法。例如:“GET”、“HEAD”,“POST”,“PUT” $_SERVER['QUERY_STRING'] #查询(query)的字符串 $_SERVER['HTTP_HOST'] #当前请求的 Host: 头部的内容 $_SERVER['HTTP_REFERER'] #链接到当前页面的前一页面的 URL 地址 $_SERVER['REMOTE_ADDR'] #正在浏览当前页面用户的 IP 地址 $_SERVER['REMOTE_HOST'] #正在浏览当前页面用户的主机名 $_SERVER['SCRIPT_FILENAME'] #当前执行脚本的绝对路径名 $_SERVER['SCRIPT_NAME'] #包含当前脚本的路径。这在页面需要指向自己时非常有用 $_SERVER['REQUEST_URI'] #访问此页面所需的 URI。例如,“/index.html” 29、安装php扩展 进入扩展的目录 phpize命令得到configure文件 ./configure --with-php-config=/usr/local/php/bin/php-config make & make install 在php.ini中加入扩展名称.so 重启web服务器(nginx/apache) 30、php-fpm与nginx PHP-FPM也是一个第三方的FastCGI进程管理器,它是作为PHP的一个补丁来开发的,在安装的时候也需要和PHP源码一起编译,也就是说PHP-FPM被编译到PHP内核中,因此在处理性能方面更加优秀;同时它在处理高并发方面也比spawn-fcgi引擎好很多,因此,推荐Nginx+PHP/PHP-FPM这个组合对PHP进行解析。 FastCGI 的主要优点是把动态语言和HTTP Server分离开来,所以Nginx与PHP/PHP-FPM经常被部署在不同的服务器上,以分担前端Nginx服务器的压力,使Nginx专一处理静态请求和转发动态请求,而PHP/PHP-FPM服务器专一解析PHP动态请求 #fastcgi FastCGI是一个可伸缩地、高速地在HTTP server和动态脚本语言间通信的接口。多数流行的HTTP server都支持FastCGI,包括Apache、Nginx和lighttpd等,同时,FastCGI也被许多脚本语言所支持,其中就有PHP。 FastCGI是从CGI发展改进而来的。传统CGI接口方式的主要缺点是性能很差,因为每次HTTP服务器遇到动态程序时都需要重新启动脚本解析器来执行解析,然后结果被返回给HTTP服务器。这在处理高并发访问时,几乎是不可用的。另外传统的CGI接口方式安全性也很差,现在已经很少被使用了。 FastCGI接口方式采用C/S结构,可以将HTTP服务器和脚本解析服务器分开,同时在脚本解析服务器上启动一个或者多个脚本解析守护进程。当HTTP服务器每次遇到动态程序时,可以将其直接交付给FastCGI进程来执行,然后将得到的结果返回给浏览器。这种方式可以让HTTP服务器专一地处理静态请求或者将动态脚本服务器的结果返回给客户端,这在很大程度上提高了整个应用系统的性能。 Nginx+FastCGI运行原理 Nginx不支持对外部程序的直接调用或者解析,所有的外部程序(包括PHP)必须通过FastCGI接口来调用。FastCGI接口在Linux下是socket,(这个socket可以是文件socket,也可以是ip socket)。为了调用CGI程序,还需要一个FastCGI的wrapper(wrapper可以理解为用于启动另一个程序的程序),这个wrapper绑定在某个固定socket上,如端口或者文件socket。当Nginx将CGI请求发送给这个socket的时候,通过FastCGI接口,wrapper接纳到请求,然后派生出一个新的线程,这个线程调用解释器或者外部程序处理脚本并读取返回数据;接着,wrapper再将返回的数据通过FastCGI接口,沿着固定的socket传递给Nginx;最后,Nginx将返回的数据发送给客户端,这就是Nginx+FastCGI的整个运作过程。 31、ajax全称“Asynchronous Javascript And XML”(异步JavaScript和XML)
小川游鱼 2019-12-02 01:41:29 0 浏览量 回答数 0

问题

程序员报错行为大赏-配置报错

Maven本地仓库配置报错:配置报错  GO语言配置什么的都没问题,但就是LiteIDE配置不好。。。:配置报错  Maven 配置nexus仓库 POM文件报错:配置报错  10个你可能从未用过的PHP函数:配置报错  QT...
问问小秘 2020-06-11 13:18:25 6 浏览量 回答数 1

云产品推荐

上海奇点人才服务相关的云产品 小程序定制 上海微企信息技术相关的云产品 国内短信套餐包 ECS云服务器安全配置相关的云产品 开发者问答 阿里云建站 自然场景识别相关的云产品 万网 小程序开发制作 视频内容分析 视频集锦 代理记账服务 阿里云AIoT 阿里云科技驱动中小企业数字化