Windows XP平台下搭建PHP环境
刚接触PHP那会儿,觉得搭建PHP的运行环境实在是太难,后来发现有现成的套装软件可用,高兴的不得了。最开始因为想建站,所以接触到了DedeCMS,织梦公司还蛮体贴,提供了一个和DedeCMS配套使用的PHP环境搭建套装软件。后来,又接触过像XAMPP,AppServ等软件,AppServ现在还在用。虽然这类套装软件十分好用,但是也存在明显的不足。套装软件里面包含软件的版本都是固定的,而且套装软件升级速度相当的慢,反观PHP的开发又是相当快速的,所以使用套装软件会造成新加入的PHP特性无法在当前环境下使用的问题。
?
随着对PHP的越来越熟悉,大致也知道了PHP脚本被解析的过程,所以有信心一步一步来搭建PHP运行环境。事先认为这事不会有什么难度,但在搭建过程中,还是碰到了一些问题,花费了一些时间。鉴于此,将搭建过程整理出来,贴在这里,以备日后参考。
?
第一步:准备工具
- 文本编辑器,如:EditPlus等。
- Web服务器,选择常用的Apache,如:httpd-2.0.64。
- DB服务器,如:MySQL-5.5.28。
- 已编译PHP,如:PHP-5.3.1。因为使用ISAPI的模式运行PHP,所以选择VC6线程安全版本。
第二步:开始安装
1,安装Apache
这个没什么好说的,一路next下去。有一点需要注意,最好选择custom的方式进行安装,这样可以将Apache安装目录存放在指定目录。完成后,进行简单测试。可以将一个网页文件(扩展名为html)或任何其它文件放在安装目录下的htdocs下,这是Web服务器默认的文档根目录。打开浏览器,在地址栏中输入:127.0.0.1或localhost,回车。如果能看到刚才创建的文件,说明Web服务器已正常启动。
2,安装PHP
为了将PHP纳入Apache的控制之下,需要完成如下工作。首先,将编译过的PHP目录文件放在与Apache安装目录同级的目录下,这时候Apache还不知道PHP的存在。接着,进入Apache安装目录下,在目录conf下找到httpd.conf文件,这是Apache的配置文件。用Editplus打开该文件,在LoadModule部分最后,加入两行内容。大致形式为:
LoadModule php5_module D:/localhost/php5/php5apache2.dll PHPIniDir "D:/localhost/php5/php.ini"
第一行表示PHP作为Apache的一个模块被使用,第二行表示PHP配置文件的绝对路径。需要说明两点:一是,第一行中php5apache2.dll文件由Apache的版本决定,这里因为Apache的版本是2.0.*,所以加载php5apache2.dll文件。如果使用2.2.*系列,则应该加载php5apache2_2.dll文件。二是,第二行中的php.ini文件在PHP目录中是没有的,只有php.ini-development和php.ini-production这两个文件,需要将其中之一重命名为php.ini,建议选择production版本,保证线上线下一致性。接着,为了告诉Apache应该将何种类型的文件交给Zend Engine解析,需要为这类文件指定一个特定扩展名。在文件最后,加入如下命令:
<IfModule mod_php5.c> AddType application/x-httpd-php .php </IfModule>
然后打开php.ini,需要修改几处配置。找到“; extension_dir = "ext"”这一行配置,这里是PHP扩展的路径,去掉注释符号“;”,然后填写正确路径就好了,如:extension_dir = "D:/localhost/php5/ext"。接着,找到如下两行命令:
;extension=php_mysql.dll ;extension=php_mysqli.dll
去掉前面的分号,保存文件,重启Apache。不出意外,这时PHP就能用了。为了测试,这时可以在htdocs目录下创建扩展名为php的文件,通过浏览器访问该文件,看文件是否被成功解析。
3,安装MySQL
一路next,使用自定义安装(即:custom),将MySQL安装目录放在与Apache和PHP同级目录。有一个地方需注意,如果本地在之前安装过MySQL,那么会有一些数据被写入注册表,即使卸载MySQL时,这些信息也不会被删除,这样当重新安装MySQL时,就会出错。因此,在安装MySQL前,首先确保注册表里没有残留的MySQL信息,这些信息大致在以下三处:
HKEY_LOCAL_MACHINE\SYSTEM\ControlSet001\Services\Eventlog\Application\MySQL HKEY_LOCAL_MACHINE\SYSTEM\ControlSet002\Services\Eventlog\Application\MySQL HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Eventlog\Application\MySQL
如果存在,将它们删除即可。
第三步:使Apache和MySQL全局可用
为了方便在DOS下使用Apache和MySQL,可以将Apache和MySQL安装目录下的二进制目录路径加入到系统变量Path中。具体操作为:我的电脑->属性->高级->环境变量->选中系统变量Path->编辑->加入Apache和MySQL下二进制目录的绝对路径(注意用分号隔开)->保存。完成后(不需重启电脑),即可在DOS下直接运行Apache和MySQL安装目录下二进制目录下的可执行文件了。
第四步:修改配置文件
为了使PHP程序的性能最优,常常需要根据具体的项目要求,对开发环境做一些配置层面的优化。PHP环境中有两个最重要的配置文件,一个是php.ini,另一个是httpd.conf。前者是PHP的全局配置文件,用来控制PHP的行为,后者是Apache的配置文件,控制服务器的表现。例如:Web服务器默认文档根目录位于Apache安装目录下htdocs目录下,为了便于开发和维护,常常需要将此配置成和Apache,MySQL及PHP同级目录中的某一目录,如www目录。为了完成这个工作,需要修改httpd.conf文件,找到“DocumentRoot "C:/AppServ/Apache2/htdocs"”这一行命令,将其修改为“DocumentRoot "C:/AppServ/www"”,保存文件,重启服务器即可。
(完)
?

负载均衡会影响会话管理,但可以通过会话复制、会话粘性和集中式会话存储解决。1.会话复制在服务器间复制会话数据。2.会话粘性将用户请求定向到同一服务器。3.集中式会话存储使用独立服务器如Redis存储会话数据,确保数据共享。

Sessionlockingisatechniqueusedtoensureauser'ssessionremainsexclusivetooneuseratatime.Itiscrucialforpreventingdatacorruptionandsecuritybreachesinmulti-userapplications.Sessionlockingisimplementedusingserver-sidelockingmechanisms,suchasReentrantLockinJ

PHP会话的替代方案包括Cookies、Token-basedAuthentication、Database-basedSessions和Redis/Memcached。1.Cookies通过在客户端存储数据来管理会话,简单但安全性低。2.Token-basedAuthentication使用令牌验证用户,安全性高但需额外逻辑。3.Database-basedSessions将数据存储在数据库中,扩展性好但可能影响性能。4.Redis/Memcached使用分布式缓存提高性能和扩展性,但需额外配

Sessionhijacking是指攻击者通过获取用户的sessionID来冒充用户。防范方法包括:1)使用HTTPS加密通信;2)验证sessionID的来源;3)使用安全的sessionID生成算法;4)定期更新sessionID。

本文比较了PHP和ASP.NET,重点是它们对大规模Web应用程序,性能差异和安全功能的适用性。两者对于大型项目都是可行的,但是PHP是开源和无关的,而ASP.NET,


热AI工具

Undresser.AI Undress
人工智能驱动的应用程序,用于创建逼真的裸体照片

AI Clothes Remover
用于从照片中去除衣服的在线人工智能工具。

Undress AI Tool
免费脱衣服图片

Clothoff.io
AI脱衣机

Video Face Swap
使用我们完全免费的人工智能换脸工具轻松在任何视频中换脸!

热门文章

热工具

Dreamweaver Mac版
视觉化网页开发工具

mPDF
mPDF是一个PHP库,可以从UTF-8编码的HTML生成PDF文件。原作者Ian Back编写mPDF以从他的网站上“即时”输出PDF文件,并处理不同的语言。与原始脚本如HTML2FPDF相比,它的速度较慢,并且在使用Unicode字体时生成的文件较大,但支持CSS样式等,并进行了大量增强。支持几乎所有语言,包括RTL(阿拉伯语和希伯来语)和CJK(中日韩)。支持嵌套的块级元素(如P、DIV),

SublimeText3 Linux新版
SublimeText3 Linux最新版

Atom编辑器mac版下载
最流行的的开源编辑器

PhpStorm Mac 版本
最新(2018.2.1 )专业的PHP集成开发工具