关于PHP新手问题
IIS下搭建PHP5运行环境2007年06月22日 星期五 14:36基于PHP语言的论坛可以说是目前最安全而且执行代码效率最高的论坛了,和ASP相比他可以实现和MYSQL更好结合的特点,结合PHPMYADMIN可以更好的管理和维护数据库信息。一般情况下使用apache和PHP搭配比较顺手,不过很多时候由于特定因素和条件的局限,我们要求在IIS基础上建立PHP应用环境。今天笔者就为各位介绍如何在IIS和Windows下建立PHP应用环境。
一、环境需求和准备工作:
笔者选择了PHP52版本,而IIS则是XP系统自带的IIS5。首先我们要安装IIS组件,默认情况下在XP系统是没有安装的。
第一步:通过控制面板的添加/删除Windows组件完成IIS组件的安装工作。
第二步:在添加/删除Windows组件选项窗口中我们双击Internet信息服务(IIS),然后把里面的包括internet信息服务管理单元,公用文件,万维网服务选中。(如图1)
图1
第三步:插入XP SP2系统光盘复制必须文件到本地硬盘,安装完毕后我们可以从“管理工具”中的“internet信息服务”启动IIS程序。(如图2)
图2
二、安装PHP程序及设置:
安装好IIS后我们就可以发布相应的网站了,但是这时还无法浏览PHP语言建立的页面,我们需要先安装PHP并设置必须的参数。
第一步:下载PHP主程序,笔者使用的是PHP 52,解压缩到本地磁盘c盘根目录。(如图3)
附:PHP523下载地址 http://wwwphpnet/downloadsphp#v5
图3
第二步:接下来将PHP文件夹中的phpini-dist复制到C:\WINDOWS目录下并改名为phpini,复制php5tsdll和libmysqldll两个文件到
C:\WINDOWS\system32中。(如图4)
图4
第三步:为了让PHP支持MYSQL和GD库需要编辑phpini文件,用记事本打开该文件,查找“extension_dir”,然后把extension_dir = "/"修改为extension_dir = "C:\php\ext";另外还需要把“;extension=php_mysqldll”前的分号去掉,改成extension=php_mysqldll。把“;extension=php_gd2dll”前的分号也去掉,修改为extension=php_gd2dll。
至此我们的PHP就安装完成了,但是由于默认情况下IIS是不支持PHP的,只能支持ASP。所以还需要我们像建立CGI那样创建PHP的映射关系。
三、配置IIS的PHP映射:
一般情况下设置某语言或执行程序的映射关系都是通过ISAPI筛选器解决的,PHP也不例外。
第一步:打开IIS,在默认网站上点右键选择“属性”。(如图5)
图5
第二步:找到“主目录”标签,点右下角的“配置”按钮。(如图6)
图6
第三步:在“添加和编辑应用程序扩展名映射”窗口中,通过浏览按钮找到c:\php\php5isapidll文件,扩展名输入php,这样在解析过程中将自动调用php5isapidll解释PHP语言。另外还需要把“脚本引擎”和“检查文件是否存在”选中。(如图7)
图7
第四步:返回到默认网站属性窗口的“主目录”标签,将执行权限修改为“脚本和可执行文件”,这样才能够执行PHP程序。(如图8)
图8
第五步:来到默认网站属性窗口的“文档”标签,将indexphp添加到默认文档列表中。(如图9)
图9
第六步:新建立一个TXT文本文件,内容如下。将其保存成indexphp文件并复制到网站发布目录中。(如图10)
<
echo phpinfo();
>
图10
第七步:在IIS中浏览indexphp页面文件就能够看出真正的内容了,这说明我们的PHP环境已经搭建成功。(如图11)
图11
小提示:如果indexphp无法正常显示那么我们再来到默认网站属性中的ISAPI筛选器标签,添加一个名为PHP的筛选器,可执行文件选择c:\php\php5isapidll即可,这样设置后往往可以解决实际问题。(如图12)
图12
第八步:当然我们修改设置后需要重新启动IIS或者干脆直接启动计算机即可,重新启动后PHP文件就可以顺利显示了。重新启动IIS的方法是关闭“IIS ADMIN”服务或者直接在默认网站上点右键选择“停止”再“启动”。
四、总结:
总体上讲IIS下PHP的运行还是比较稳定的,虽然在执行效率上不如apache与PHP搭配得更如意,但是在企业服务器上必须使用IIS或者多个网站一起通过虚拟目录发布时我们就不得不选择本文介绍的方法来搭建PHP环境了。另外Apache的最新版本和PHP5也存在一定的兼容问题,直接采用IIS与PHP5搭配更可以减少不必要的兼容问题带来的麻烦。
即时通讯的核心在于WebSocket,它是实现即时通讯的常用协议之一,原理是在单个TCP连接上提供双向通信的协议,通常被用于实时通信、游戏、在线交易等场景。
传统的Web应用程序是基于HTTP协议的,HTTP是一种无状态协议,每次请求都需要重新建立连接,因此难以实现实时通信。而WebSocket协议通过在建立连接后保持长连接,允许服务器主动向客户端发送数据,从而实现双向通信。
WebSocket协议允许在服务器端和客户端之间发送任意数据,包括文本、二进制数据、JSON等格式的数据。客户端和服务器端都可以发送数据,而且不需要通过HTTP的中间层进行转换,从而减少了网络延迟和带宽的消耗。
要搭建PHP即时通讯系统,可以遵循以下步骤:
选择WebSocket服务器:要实现即时通讯,需要使用WebSocket协议,所以需要选择一个支持WebSocket的服务器,例如Nodejs、Socketio、Ratchet等。
安装服务器:根据所选服务器的官方文档,安装WebSocket服务器。
编写客户端页面:在PHP中,可以使用WebSocket客户端库如Ratchet和phpws等来创建客户端页面。可以参考官方文档和示例代码。
实现服务端逻辑:实现WebSocket服务器端的逻辑,例如处理客户端发送的消息、将消息发送给其他客户端等。具体实现可以根据所选服务器的文档和示例代码来进行。
集成前端和后端:将客户端和服务端逻辑集成到同一个应用程序中,可以使用框架如Laravel或ThinkPHP等,或者自行编写代码。
以下是一些学习PHP即时通讯的资料,这些资料可以帮助你入门:
Ratchet官方文档:Ratchet是一个PHP WebSocket库,可以用来构建即时通讯应用程序。官方文档提供了详细的使用说明和示例代码。
PHP WebSockets:这是一个使用PHP编写的WebSocket服务器框架,它的目标是提供一个简单的方法来构建实时应用程序。它提供了完整的示例代码和文档。
WebSocket PHP聊天室教程:这是一个详细的教程,介绍了如何使用PHP和WebSocket来构建一个简单的聊天室应用程序。它提供了完整的示例代码和演示。
PHP聊天应用程序教程:这是一个较为全面的教程,介绍了如何使用PHP和MySQL来构建一个完整的聊天应用程序,包括登录、注册、聊天室等功能。它提供了完整的示例代码和演示。
Real-time Apps with PHP:这是一本介绍如何使用PHP构建实时应用程序的书籍,涵盖了WebSocket、Socketio、Nodejs、Redis等技术。虽然这本书的主要语言是英语,但它提供了大量的示例代码和文档,可以帮助你快速入门。
以上这些资料可以帮助你快速入门PHP即时通讯的开发,建议你先选择一种较为简单的实现方法开始学习,逐步掌握相关技术和开发经验。
分布式计算是计算机科学中一个研究方向,它研究如何把一个需要非常巨大的计算能力才能解决的问题分成许多小的部分,然后把这些部分分配给多个计算机进行处理,最后把这些计算结果综合起来得到最终的结果。
分布式网络存储技术是将数据分散地存储于多台独立的机器设备上。分布式网络存储系统采用可扩展的系统结构,利用多台存储服务器分担存储负荷,利用位置服务器定位存储信息,不但解决了传统集中式存储系统中单存储服务器的瓶颈问题,还提高了系统的可靠性、可用性和扩展性。 (推荐学习:PHP视频教程)
php分布式是指多台服务器处理不同的工作,指的是业务上的一般,比如多台服务器有的处理日志分布到一些服务器,有的处理下单,分布到一些服务器。
框架作为协同开发规范和开发效率的保证,不得不被引入到日常开发中,可一旦加上了框架这层封装,势必影响php接口的整体性能。
基于php7+swoole的php代码的性能已经超过了静态编译的go语言。
当下流行的php框架laravel,确实解决了很多规范和开发效率问题;但是臃肿的架构和用php去实现的封装,让他的性能表现不佳。
针对这种情况,本架构选择c扩展框架phalcon作为开发框架,让框架带来的性能损耗,降到最小。
使用Web集群方式部署之后,首要调整的就是用户状态信息与附件信息。用户状态不能再保存到Session中,缓存也不能用本地Web服务器的文件缓存,以及附件,也不能保存在Web服务器上了。
因为要保证集群里面的各个Web服务器,状态完全一致。因此,需要将用户状态、缓存等保存到专用的缓存服务器,比如Memcache。附件需要保存到云存储中。
Web负载均衡
Web负载均衡(Load Balancing),简单地说就是给我们的服务器集群分配“工作任务”,而采用恰当的分配方式,对于保护处于后端的Web服务器来说,非常重要。
对于CMS系统而言,基于PHP的是主流(ASP现在基本上很少用了),这个就拿PHP和JAVA各自的优缺点做对比,可以发现他们各有优势,使用的场景也有所不同,这里就说说PHP的优势:
1JavaEE是一个很重的平台,部署难度上和维护性上,都是略逊与PHP的。
2PHP语法简单,更容易上手一些,而java的话不仅要学习语法,还要熟悉一些常用的类库,了解面向对象的思想,整体上手难度会高一些。
3JAVA代码可以嵌入到JSP中,但是如果这样写的话,页面太乱,所以现在很多时候都遵照MVC,但是开发工作量又太大。PHP+MySQL+Apache最经典的组合,开发起来速度很快。
4开发环境轻量化,有时候连IDE都省了。
所以总结来说,使用PHP就突出一个快字,开发一个性能要求不高的网站,完全可以用PHP来开发,JAVA确实稍重一些,开发维护都麻烦(如果你非得要跟我提一些Saas、Paas平台用起来多方便,发布有多快我就一个小站长开发一个CMS系统罢了)
顺便提一句,现在很多公司JSP也慢慢的不用了,现在JAVA开发的系统都会做前后台分离,前台是纯静态页面,可能用到H5,也可能用到诸如bootstrap之类的框架,后台纯java没有页面,前台调用后台服务的接口,获得数据并展示;所有的数据操作也是调用后台服务的接口。
asp是曾经比较火热的web编程需要,大量的站点都在使用,于是也就让黑客有了针对性的方向,出现大量入侵asp网站的教程。而且本身在当面asp也是不完善的,存在许多的安全漏洞,在大量站点都使用的情况下,自然会出现许多安全教程。这是随着互联网发展而出现的趋势,因为大量使用,所以黑客学会了asp的入侵等就能获得更大价值,那么同样的为asp做安全修复也就成为了比较大量的需求。
php是后来变得热门起来的,现在大部分站点都是使用php,而它也正在经历和曾经的asp相似的历程,大量的黑客在研究它的漏洞,它的入侵方法,而且本身php开发者众多,代码出现漏洞是很常见的,所以大量的安全教程也就随之诞生了。
其它语言没有asp,php那样广泛使用过,所以教程比较少很正常。
框架就是一个半成品,帮助我们完成了项目的一部分,框架里面有我们需要的类文件,要什么功能我们只需要调用这个方法就行了。比如验证码功能,我直接掉用框架里面的验证码的这个类就行了,不需要自己去写了。但是具体的功能还是没有完成,你的自己写,框架只是完成大体的结构性的部分剩下70%的具体功能是自己写的。但是CMS就是很完善的,就是光剩下模板没有换了。所以我觉得还是有本质区别的。
只能回答基于PHPLaravel框架的开源后台管理系统,基于其他框架的后台管理系统没有研究过:
Laravel-admin
f-admin
Voyager
LaraAdmin
QuickAdmin
octobercms
lavalite
laravel-boilerplate
pyrocms
关于PHP新手问题
本文2023-10-02 07:05:11发表“资讯”栏目。
本文链接:https://www.lezaizhuan.com/article/154685.html