将网站进行部署之际,察觉到页面无法正常打开,或者直接出现报错情况?大概是IIS以及PHP环境未曾配置妥当。好多人觉得把源码投放到服务器当中就能够运行,结果却是被各种各样的500错误以及数据库连接失败搞得疲惫不堪。接下来的这一套从零基础开始的完整搭建流程,能够助力你避开那些常见的容易出错的地方。
启用IIS服务器组件
Windows服务器在默认状况下不会安装IIS,得要手动去开启此项功能。将控制面板打开,寻找到“程序和功能”,点击左侧位置的“启用或关闭Windows功能”。于弹出的列表当中,找寻到“Internet Information Services”也就是IIS,把它以及所有的子选项勾选上。
应当注意重点做出选取对“Web管理工具”之下,那个被称作“IIS管理控制台”进行勾选的操作,并且还要对“万维网服务”下的“应用程序开发功能”作勾选。点击好确定按钮过后,能够发现系统会自行触发相应安装动作,此一安装进程大概所需时间为两三分钟。当安装操作完成之后,在浏览器当中输入127.0.0.1这个地址,要是届时出现IIS对应的欢迎页面,则表明服务器基础环境业已处于就绪状态。
配置PHP解析环境
起初,IIS自身并不认识PHP文件,这就需要手动去接入PHP解析器。接着去php官网下载针对Windows版本的Non Thread Safe压缩包来,这里更推荐PHP 7.4系列或者8.1系列。随后把该压缩包解压到C盘根目录那儿,然后将文件夹重命名为php,以此可方便后续的操作。
步向php文件夹,寻觅php.ini - development文件,拷贝一份并将其命名为php.ini。以记事本开启,找寻extension_dir这一行,去除分号注释内容 将路径置为C:/php/ext。往下方翻阅寻得extension = mysqli以及extension = pdo_mysql 去除分号启用这两个数据库扩展。再搜索cgi.force_redirect 将其设为0。保存文件之后,将IIS管理器打开,对处理程序映射进行双击操作,添加模块映射,请求路径填写为*.php,所选择的模块是FastCgiModule,可执行文件指向C:/php/php-cgi.exe,名称随意填写例如PHP。
部署网站源码文件
当下能够将已然撰写好的PHP项目放置到服务器之中了,于C盘inetpub文件夹内部的wwwroot目录里,去创建一个项目文件夹诸如myweb,把全部的源码复制进去,返回IIS管理器,右键点击左侧的网站,选择添加网站。
填网站名称为myweb,选物理路径为刚才的C:/inetpub/wwwroot/myweb,填IP地址为本机IP或全部未分配,用默认的80作为端口。确定创建之后,找到刚添加的网站,双击身份验证,确保匿名身份验证已启用。右键进入项目文件夹的属性,在安全选项卡里给IIS_IUSRS用户组添加读取和执行权限。在浏览器输入localhost进行测试,如果能看到页面说明部署成功。
安装配置MySQL数据库
动态网站是离不开数据库予以支持的。下载用来安装MySQL Community Server的安装包,选择Server only这种模式去安装。在安装的进程中会提示设置root密码,一定要牢牢记住。完成之后以管理员的身份去打开命令提示符,输入net start mysql以此来启动服务。
依靠命令行或者phpMyAdmin去登录MySQL,进而创建一个全新的数据库,其名称跟项目要求保持一致。寻找到项目里.sql格式的数据库文件,并且导入至这个新的库里。随后修改项目当中的数据库配置文件,一般是config.php或者db.php,将数据库地址填写为localhost,把用户名填为root,把密码填成安装时所设置的那个,将数据库名填作刚创建的。保存之后刷新网站,要是先前存在数据库连接错误,此刻应该消失掉了。
调整兼容性设置项
网站可以被打开然而其功能却并非正常,一般而言是配置方面的细节没有调整到恰当位置。去打开php.ini,找见display_errors,将其设置为Off以此来防止报错信息把服务器路径泄露出去。往上面进行翻阅找到upload_max_filesize和post_max_size,依据需求把它们调大到像64M这样,以便于能够上传较大的附件。
要对IIS层面予以优化,打开网站的错误页设置,启用详细错误以利于排查问题,双击请求筛选,编辑此功能的设置,调整所允许的最大URL长度与内容长度,要是网站运用了伪静态规则,检查web.config文件有无语法错误,防止出现500.19这类配置报错,开启失败请求跟踪规则,设置跟踪500状态码,出错之际能够直接见到详细缘故。
部署PHP网站之际,你所碰到的最为令人头大的错码,是500,还是连接数据库失败?欢迎于评论区吐露你的踩坑过往,点赞收藏以便下次搭建之时予以参考。


还没有评论,来说两句吧...