php新手学习路线是怎样的 (php新手入门)
本文目录导航:
php新手学习路线是怎样的
第一阶段:基础阶段(基础PHP程序员)

重点:把LNMP搞熟练(核心是安装配置基本操作) 目标:能够完成基本的LNMP系统安装,简单配置维护;能够做基本的简单系统的PHP开发;能够在PHP中型系统中支持某个PHP功能模块的开发。
时间:完成本阶段的时间因人而异,有的成长快半年一年就过了,成长慢的两三年也有。
基于Windows平台的三个版本Web服务器
前端时间,为了工作需要,我编写了一个简单的Web服务器,用于部署静态网站。
这个Web服务器有三个版本,基于Windows平台,分别针对不同场景进行了优化。
第一个版本是基于多线程的Web服务器,我们将其命名为。
每一个HTTP会话会启动一个线程来处理。
这个版本的优点是程序设计简单,代码易于维护。
然而,它也存在一些缺点,包括线程间为了保证数据独立性,每个线程都需要维护自己独立的栈空间。
由于默认栈大小为1M,一个进程的最大虚拟空间为2G,这意味着最多只能开辟2000个线程,实际数量会因进程本身占用栈空间而减少至大约1500左右。
此外,修改线程栈大小以提高线程数,理论上可以达到2万个,但这样做又会带来新的问题,如CPU频繁切换线程产生的开销,以及线程栈过小导致的栈溢出风险。
第二个版本是基于线程池的Web服务器,我们将其命名为。
针对多线程版本的瓶颈,我们采用了线程池的方式,将“客户会话”放入不同的线程队列中进行处理,从而有效提升了并发量。
预启动100个线程,用于处理HTTP请求。
每个线程维护一个HTTP会话待处理队列,由Accept接收线程将接收到的连接请求分发到不同的线程中等待处理。
这个版本的优点在于提升了并发量,但缺点是如果HTTP会话中存在下载大文件的请求,比如下载超过1G的文件,会导致该队列中的后续请求无法得到即时处理,从而导致客户端超时退出。
第三个版本是基于完成端口的Web服务器,我们将其命名为。
IOCP模型是Windows下网络编程的终极解决方案,类似于Linux下的epoll模型。
它在内核态实现异步IO,充分利用CPU性能。
这个版本预开辟的线程数与CPU核心数相关,IOCP负责线程调度,并将线程调度到不同的核上运行,确保CPU被充分利用。
这个版本的优点是真正的异步高并发,但开发难度较高,因为业务逻辑需要被打散到不同的函数中处理。
IOCP投递IO操作虽然简单,但处理后将整个业务串起来却显得麻烦。
开发时需要注意套接字错误处理、异常处理、客户连接上下文的统一销毁等问题。
此外,IOCP不处理超时,因此需要自己处理连接超时,防止被恶意连接攻击。
这三个版本的Web服务器在Windows平台下的性能优化各有侧重,适用于不同场景。
多线程版本适用于并发量较低,对代码维护性要求高的场景;线程池版本则适用于处理响应快的短连接,提高并发处理能力;而IOCP版本则真正实现了异步高并发,适用于任何场景,包括下载大文件。
Windows系统怎样配置PHP环境
具体的操作方法如下:
1、下载我们需要的软件到电脑,然后解压到自己电脑。如下图所示:
2、解压文件后的文件夹效果如图所示,放在磁盘根目录下。
3、然后打开文件夹,找到这里的SETUP命令,点击运行。
4、然后根据提示信息,选择要安装apache以及MYSQL版本,输入数字回车。如下图所示:
5、中间据提示信息,输入有关命令比如输入Y表示同意安装。如下图所示:
6、输入MYSQL数据库的密码,用户名默认是ROOT。如下图所示:
7、安装完成以后,可以浏览器中直接输入本机地址,来查看PHP环境配置的成功情况。如下图所示: