2026/4/17 15:59:09
网站建设
项目流程
乐清网站制作的公司,做网站用windows还是linux,wordpress 首页折叠,aitt网站建设中搭建PHP环境是学习Web开发的第一道关卡。本文提供一份经过验证的一站式解决方案#xff0c;详细演示如何集成Apache服务器、PHP解析引擎和MySQL数据库#xff0c;并配置phpMyAdmin进行可视化管理。文中包含详细的配置代码、版本推荐和常见问题排查指南#xff0c;旨在帮助您…搭建PHP环境是学习Web开发的第一道关卡。本文提供一份经过验证的一站式解决方案详细演示如何集成Apache服务器、PHP解析引擎和MySQL数据库并配置phpMyAdmin进行可视化管理。文中包含详细的配置代码、版本推荐和常见问题排查指南旨在帮助您一次性成功搭建稳固的开发环境。一、前言1、Php如何嵌入到HTML代码?php ?2、Php脚本是运行在服务器端的3、PHP开发工具最全适的是2和51.EditPlus2.Zend Studio3.Php Coder4.phpedit5.easyecpilse6.dw4、b/s 与c/s的比较1. b(browser:浏览器)/s(server:服务器)只需要服务端2. c(client:客户端)/s(server服务器)客户端服务端都要开发5、为什么要安装WEB服务器以及怎样去了解发送和接收到什么因为浏览器要取数据是从WEB服务器获取的。我们可以通过Httpwatch工具来获取发送和接收到的数据有利于加深了解二、Apache服务器1、安装填写安装时不一定要装在C盘2、启动方法1.可以通过“服务”来管理apache:2.可以通过“ApacheMonitor.exe”(在安装目录下)来管理apache3.通过命令行来管理apache:CmdCd apache目录 : cd d:\cch\Apache\binDirHttpd –k start 或Httpd –k shutdown 或Httpd –k restart3、环境变量如果希望在任务目录下都能运行httpd 指令则需要做一个环境变量设置在我的电脑属性中作如下设置Path变量值中可以有多个变量彼此之间用英文分号连接。即用分号连接多个路径这样我们就可以在任何目录下管理apache了。引申如果在path环境变量中设置了某软件的目录地址则在我的电脑任意盘任意文件夹的地址中输入软件名称即可启动软件。4、端口Apache这个WEB服务器默认在80端口监听。如果你访问一个网站如http://ww.baidu.com, 则默认一个端口80。1. 一台机器可以1-65535个端口。2. 在实际开发中我们经常使用netstat –an 来查看机器有哪些端口在监听3. 如果发现有异常端口监听则可以关闭该端口命令为: netstat –anb通过该命令我们可以发现是哪个程序在监听该端口从而关闭它4. 一台机器的80端口被apache监听则该端口不能再被其它应用程序监听。5. 端口分为有名端口1-1024号开发程序时一般不要占用它其它端口可以自己分配Apache如何配置端口1. apache软件配置是在httpd.conf文件中配置。把文件中Listen 80中的80修改为别的数apache可以同时监听多个端口如把它改为Listen 80Listen 81Listen 82…………5、Apache的目录结构Htdocs 用于存放网站站点的文件夹(默认)如果有多个站点可以通过增加文件夹来分类虚拟目录提一个需求假如apache安装在 C盘现在C盘已满而D盘还有很多空间如何把 D盘下的某个文件夹作为网站站点进行管理步骤如下1.添加虚拟目录的节点#配置虚拟目录conf中#用于注释在apache的conf目录下的httpd.conf的IfModule dir_module……/IfModule节点后添加如下代码IfModule dir_moduleDirectoryIndex index.html index.htm index.phpAlias /ypxtext D:/ypxtextDirectory d:/ypxtextOrder allow,denyAllow from all/Directory/IfModule注意事项“D:/ypxtext”这行代码最好在 conf中直接输入如果在WORD中复制并粘贴到 conf 中会出错因为这样引号可能不是英文形式代码解释#DirectoryInedx index.html index.htm index.php首页页面设置。首页面也可以不以Index命名只需要在前面代码中加入欲以之为首页的网页名称即可。如ypx.htmlYpxtext是站点的文件夹名称D:/ypxtext是站点路径Directory d:/ypxtext是访问权限设置2.修改Server 主目录:注销documoetroot路径在代码前加#DocumentRoot d:/cch/Apache/htdocs注不注销也行。若不注销则下面两个网址都可访问默认站点还是apache中的htdos文件夹若注销则只能访问后面的网址。http://localhosthttp://localhost/yextestApache访问权限深解Directory d:/ypxtext 表示对D盘下的ypxtext文件权限设置Order allow,deny order:顺序 allow:允许所有IP访问 deny:拒绝所有IP访问 整句代码表示先允许所有后拒绝所有Allow from all 表示允许全部IP访问/Directory这段代码的流程是先allow允许所有IP访问再deny拒绝所有IP访问再Allow from all允许所有IP访问。最终结果是允许所有IP访问。以下练习可加深理解第一题Order deny,allowAllow from 218.20.253.2Deny from 218.20最终结果是允许非218.20开头的IP 和IP 218.20.253.2访问代码流程先deny拒绝218.20开头的IP再Allow放行 IP 218.20.253.2第二题Order allow,denyAllow from 218.20.253.2Deny from 218.20最终结果是全部拒绝代码流程是先allow允许IP 218.20.253.2访问再Deny拒绝218.20开头的IP6、虚拟主机的配置思考一个问题目前我们是通过http://localhost或http://localhost/ypxtext访问网站如何设置一个域名进行访问呢如http://www.ypx.com配置虚拟主机的步骤如下1.启用 httpd-vhosts.conf:在httpd.conf 文件中找到 virtual hosts,去掉它下面这句#Include conf/extra/httpd-vhosts.conf 前的 # 号 。virtual hosts前的#不要去掉注释virtual hosts虚拟主机。Include包含。virtual hostsInclude conf/extra/httpd-vhosts.conf这两行的意思是在conf/extra/httpd-vhosts.conf文件中进行virtual hosts配置2.在httpd-vhosts.conf文件中作配置VirtualHost 127.0.0.1:80DocumentRoot d:/ypxtextDirectoryIndex index.html index.htm index.phpDirectoryoptions FollwsymlinksAllowoverride Noneorder allow,denyAllow from all/directory/virtualhost注释VirtualHost 127.0.0.1:80 指定虚拟主机 IP 127.0.0.1地址和端口 80DocumentRoot d:/ypxtext 设置站点目录 斜杠的方向要注意DirectoryIndex index.html index.htm index.php 设置主页Directoryoptions FollwsymlinksAllowoverride None 意思是不允许别人修改我们的页面order allow,deny 设置访问权限Allow from all/directory/virtualhost注意VirtualHost 127.0.0.1:80 中127.0.0.1也可以换成互联网中真实IP地址无效3.修改hosts文件在hosts中进行域名与IP配置hosts文件地址C:\WINDOWS\system32\drivers\etc\hosts用记事本打开加入 127.0.0.1 www.ypx.com 保存Localhost其实就是windows设置的本机域名7、浏览器访问网站流程比如访问 http://www.sohu.com/text/ypx.htmla. 浏览器输入http://www.sohu.com/text/ypx.html 回车b. 在本地解析主机www.sohu.com并在本机hosts文件中查找该域名与IP的对应关系。若无此域名配置则转到下一步c. 访问DNS域名服务器查找该域名与IP的对应关系得到一个IP地址d. 向www.sohu.com网站所在服务器发送一个http请求e. 服务器解析主机域名与IP对应关系--查找站点test--查找资源ypx.html--发送给浏览器。三、PHPApache在默认情况下是不会处理PHP文件的如何让apache能够处理PHP1. 在windows下搭建(wamp)Apache(iis)phpmysqlphpmyadmin(可无)2. 在linux下搭建(lamp)Apachemysqlphp在windows下安装1套件安装Appserver:该软件把我们需要的软件打包安装它包含以下软件Apachephpmysqlphpmyadmin phpmyadmin是管理mysql的界面操作软件2.自定义安装Apachephpmysqlphpmyadmin自行安装建议安装在同一文件夹下文件名不要有中文安装一个测试一个按顺序安装A装apacheB:装PHP:官网: http:// windows.php.net/下载后直接解压即可不用安装下载版本php5.3.5 vc6 x86 Thread SafeVC6 就是 leacy Visual Studio 6 compiler,就是使用这个编译器编译的VC9就是the Visual Studio 2008 compiler, 就是用微软的VS编译器编译的如果在window下使用 apachephp, 则选择VC6版本如果在window下使用 IISphp, 则选择VC9版本那么Non Thread safe是什么Non Thread safe就是非线程安全Thread safe是线程安全官方并不建议你将Non Thread safe应用于生产环境所以我们选择Thread safe.如何将apache和PHP整合即如何让apache处理PHP?1.在apache 的conf目录下的httpd.conf 中加入如下代码loadmodule php5_module d:/cch/php-5.3.5/php5apache2_2.dllphpinidir d:/cch/php-5.3.5addtype application/x-httpd-php .php .phtml上面的代码需要设置的地方就是下方红字处#让apache载入PHP处理模块loadmodule php5_modulePHP安装路径/php5apache2_2.dll#phpinidir用于指定PHP的ini, 该文件是对PHP的一些配置phpinidir PHP模块路径#这个配置表示当有一个资源是*.php的时候就由PHP来处理addtype application/x-httpd-php .php .phtml2.把php.ini-development文件改成php.ini。为什么要改呢因为我们PHP的设置需要在PHP.ini修改在PHP.ini 中可以指定对应的功能模块在PHP.ini中找到;extension_dir extext替换为PHP扩展模块路径extension_dir d:/cch/php-5.3.5/ext前面的分号要去掉。Ini文件中分号表示注释注意php5_module中的 _ 别漏了否则apache启动失败半天找不到原因这时测试 apache与PHP是否整合成功写这样一段代码?phpPhpinfo();?保存为PHP文件放在apache站点根目录下在浏览器中输入http://localhost/文件名.php访问配置apache的httpd.conf 文件时需特别注意如apache是重新安装的且路径不同则配置时不能直接用之前的httpd.conf直接覆盖因为httpd.conf文件中有许多地方包含有安装路径。若直接覆盖会导致apache启动失败四、Mysql安装mysql:mysql版本 mysql-5.0.22-win32安装要点指定编码校准为utf-8设root密码Root管理员密码设为 root上面使用默认的第一选项也可以这 里必须设置编码使用标准为utf8测试mysql是否可用写一段PHP代码进行测试?php$connmysql_connect(localhost,root,root);if($conn){echo连接数据库成功;}else{echo连接数据库失败;}?以上代码中的“root”,为安装的设置的root管理员密码密码已设为root千万不要用word中的代码直接粘贴到 php文档中因为其中很多可能是中文符号造成出现各种错误Mysql的启动与停止在“我的电脑”的“服务”中进行发现不行原因没有在php.ini中启用mysql功能启用办法在php.ini 中找到;extensionphp_mysql.dll;extensionphp_mysqli.dll去掉前面的分号即可meta http-equivcontent-type contenttext/html; charsetutf-8/安装phpmyadmin来看看是否可以使用 mysqlPhpmyadmin可以更好地管理mysql把Phpmyadmin压缩包解压到htdocs目录可以直接访问http://localhost/phpmyadmin/index.php即可,可是又发现错误Fatal error: Call to undefined function mb_detect_encoding() in D:\cch\apache\htdocs\phpMyAdmin\libraries\php-gettext\gettext.inc on line 177解决办法找到php.ini配置文件里把extensionphp_mbstring.dll前面的分号去掉重启apache就行计算机科学与技术 计算机网络技术双专业课程体系完全导航指南