新人学PHP,认为手动搭建环境而苦恼吗?这篇文章告诉你多简单
yuyutoo 2024-10-17 16:59 2 浏览 0 评论
本教程适用于初学PHP,想了解手动搭建PHP环境的童鞋。
一键环境和高手勿喷。
本教程以下列版本软件为例:
我在这里的目录结构是(个人习惯)
安装与配置 apache
双击安装Apache
这里我们选择第一个, 然后点击 Next
这里随便填一个域名, 随便填一个 email 就可以了
然后选择
默认占用 80 端口就 OK 了点击 Next。
点击 Next
这里选择安装路径
然后点击intall
正在安装中
安装完成
右下角这里是绿色的表示成功了!
这时我们在地址栏里输入 localhost 就会显示 It works!
到此Apache就安装完了。
这里我可以介绍一下Apache的安装目录
APACHE2.2 目录
├─bin --> binary,二进制文件,是 apache 的主程序及控制台等可执行程序的目录
├─cgi-bin --> 公共网关接口方式存放程序的目录
├─conf ---->config 的缩写,配置文件目录
│ ├─extra ---> 辅配置文件
│ ├─original---> 原始的配置文件,可以在修改失败后来恢复用 │
└─httpd.conf -->主配置文件,引入 extra 里面的各子配置文件
├─error --->存入一些请求错误时,所给客户回应的信息.
├─htdocs ---> 网页的主目录
├─icons --->一些小图标
├─logs ---> 日志信息,其中 error.log 是错误日志信息,对我们调试很有帮助.
├─manual --> 手册,帮助文档
└─modules --> 模块目录,放置各种功能模块
下面介绍一下如何修改默认主页
新安装的 apache 它的默认主页是 index.html
首先我们来到Apache2.2\conf目录下面,找到 httpd.conf 文件
我们随便用一个文编编辑器打开它
然后我们搜索 index.html
在大约 241 行找到
如果你只指定了一个目录, 没有指定访问的网页, 它就会默认访问指定目录下的index.html 文件,
这个文件是可以设置多个的, 并且优先级是从前到后。
这里我们可以将它设置为 index.html index.php
这样服务器默认先访问 index.html, 如果没有, 则默认访问 index.php
注意:我们改完了 apache 配置文件后要重启一下才会生效。
我们可以用命令行重启它(这里我们要用管理模式启动命令行):
先输入net stop apache2.2
再输入net start apache2.2
或者在计算机管理里面重启 Apache服务
还可以用 Apache自带的管理器重启
如何修改服务器根目录
在 httpd.conf 文件里搜索 DocumentRoot 在大约 179 行 我们来修改它的根路径
然后再下面大约 206 行处也要修改一下, 注意要和上面修改的一样
如何修改 Apache 的监听端口
我们接着在 httpd.conf 文件里搜索 80 在大约46行找到 Listen。
Listen 是听的意思, 也就是说它在监听 80 端口如果我们将它更改为 81 , 然后重启 Apache 这时我们再次访问 localhost
这是因为浏览器请求 http 协议的时候默认访问的是 80 端口, 也就是说如果只写localhost,那它实际访问的是 localhost:80,但是我们现在把监听的端口改成了 81,那么我们输入网址时就应该这样写 localhost:81。
当然我们也可以让它监听多个端口,如下图:
安装与配置 PHP 解释器
现在我们在根目录新建一个a.php 文件,然后输入 <?php echo 'hello world'; ?>
然后我们用浏览器打开它将显示如下图内容
貌似不太对劲啊!?可以看出来 php 文件并没有被解析,而是原样输出了...
这是为什么呢?
因为Apache是一个服务器,它只能响应一些静态的东西,如html、图片等等。
但是像这样的程序,它就不能解析了这时我们就要请出PHP的解释器
解压 PHP, 并配置 php.ini
我们将它解压到文件夹 PHP5.3.2 中然后配置 php.ini
我们发现在目录中找不到 php.ini 但是我们能找到这两个文件
我们现在是处于学习阶段,所以我们用development这个文件我们将php.ini-development文件复制一份并重命名为 php.ini
这里我们有两个地方需要配置,其中一个是我们将 php 解压到如下图的目录中了
PHP 和 Apache 一样都有很多个扩展模块, 放在ext这个目录中了。
Ext 是 extension 的简写,所以我们要明确的告诉 php 它的 extension_dir 在哪个位置。
我们在 php.ini 中搜索 extension_dir 在大约807 行中找到extension_dir = "./"
我们看到在 extension_dir 的前面有一个分号“;”,这个是注释的意思,就是说extension_dir 被注释掉了,现在我们将分号去掉 , 并将路径更改为D:\amp\PHP5.3.2\ext(你实际的PHP目录)
这是第一个要配置的地方。
第二个要配置的地方,我们搜索timezone在大约996行找到
Timezone是用来调时区用的,因为 php 有一些函数用来显示时间的,我们所在的时区是东八区,所以让 timezone= PRC 同时还是将前面的分号去掉。
现在我们配置完了 php 解释器, 接下来我们要把php解释器和Apache整合起来。
整合 php 解释器和 Apache
让Apache引入php模块,或者说引入php解释引擎。
我们在 Apache 的配置文件httpd.conf中随便找个地方告诉 Apache,php 的配置目录在哪,也就是php.ini在哪。
在文件中随便找个地方输入PHPIniDir "D:/amp/PHP5.3.2" (这里填写你的PHP的实际目录)
这样就告诉 Apache 服务器 php.ini 的路径了。
然后我们看 php 的目录下有一个php5apache2_2.dll的文件,php 和 Apache 的连接全靠它。
然后我们在httpd.conf文件中搜索 .so,然后再 .so 的最后面加上 php5apache2_2.dll 的路径,
输入LoadModule php5_module "D:/amp/PHP5.3.2/php5apache2_2.dll"
最后我们告诉 Apache 如果遇到以.php 结尾的文件, 就调用 php 解释引擎解析。
我们搜索Addtype,在大约 383 行找到,
然后再下面加上 AddType application/x-httpd-php .php .phtml
意思是如果碰到了以.php 结尾或者.phtml 结尾的文件就调用 php 解释器来解析。
现在我们重启一下Apache,这次我们再次打开 a.php 文件就会正常解析了。
接下来开启php的功能模块
在php.ini中搜索extension=php我们找到如下
我们将需要的功能模块开启就 OK 了。
我暂时就需要以上这些模块,通常新手也就用到这些然后我们重启Apache。
在开启某些模块后,重启Apache的时候会报错,这是因为兼容性的问题为了解决这个问题我们还要在 http.conf 文件中引入两个文件
LoadFile "D:/amp/PHP5.3.2/libeay32.dll"
LoadFile "D:/amp/PHP5.3.2/ssleay32.dll"
这样就解决了。
这时我们在 a.php 中输入<?php phpinfo(); ?>
就可以看到 php 的信息了。
如果在最后重启的时候失败了,我们就用命令行进行重启试一下,如果报了如下错误
这是因为系统上没有安装相应的 VC 编译器的库文件和头文件,安装后就会解决此问题。
安装与配置 Mysql
双击打开MySQL
点击 Next
我们将它设置完后, 点击 Next 继续安装。
正在安装中...
现在开始配置 mysql,点击 Next继续。
我们在这里选择细节配置,然后点击 Next。
选择第一个,然后点击 Next。
这里我们可以将innoDB库也放在data下面。
点击 Next
Next!~~~
Next!~~~
NNNNNNext!!!!!
这里根据自己的需求是否可以远程登录,反正我是没有允许,然后点击next。
最后一步
点击 Execute 就可以了
经过漫长的等待.....
终于!!
哈哈!! OK!!
最后点击 Finish, 就此安装完毕我们打开命令行试一下。
输入 mysql –uroot –p 密码
如果显示如下内容就说明安装成功了 !
安装phpMyAdmin
这一步应该是最简单的。
Phpmyadmin 是一个B/S软件,是一个可视化管理 Mysql 的软件,我们直接将它解压到, 根目录中就可以了。
然后我们直接在浏览器中打开它
如果正常显示登录页面就代表成功了。
如果出现下面这种情况
出现这个问题,是因为 PHP 的 mbstring 扩展没有打开,或者说 PHP 扩展路径没有被正确指定,请打开 php.ini,将 ;extension=php_mbstring.dll 前面的分号(;)去掉,在php.ini 中 增 加 一 句 extension_dir="D:\amp\PHP5.3.2\ext"; 其 中D:\amp\PHP5.3.2\ext 是指 php_mbstring.dll 文件存放的目录,也就是PHP 扩展目录(PHP 目录下的 ext 目录),请修改此目录路径为你的实际路径。
修改完后重新启动服务器即可。
phpMyAdmin安装到此就结束了。
本教程适合想了解手动搭建PHP环境的新童鞋,不喜勿喷,谢谢!
本教程到此结束。
相关推荐
- jQuery VS AngularJS 你更钟爱哪个?
-
在这一次的Web开发教程中,我会尽力解答有关于jQuery和AngularJS的两个非常常见的问题,即jQuery和AngularJS之间的区别是什么?也就是说jQueryVSAngularJS?...
- Jquery实时校验,指定长度的「负小数」,小数位未满末尾补0
-
在可以输入【负小数】的输入框获取到焦点时,移除千位分隔符,在输入数据时,实时校验输入内容是否正确,失去焦点后,添加千位分隔符格式化数字。同时小数位未满时末尾补0。HTML代码...
- 如何在pbootCMS前台调用自定义表单?pbootCMS自定义调用代码示例
-
要在pbootCMS前台调用自定义表单,您需要在后台创建表单并为其添加字段,然后在前台模板文件中添加相关代码,如提交按钮和表单验证代码。您还可以自定义表单数据的存储位置、添加文件上传字段、日期选择器、...
- 编程技巧:Jquery实时验证,指定长度的「负小数」
-
为了保障【负小数】的正确性,做成了通过Jquery,在用户端,实时验证指定长度的【负小数】的方法。HTML代码<inputtype="text"class="forc...
- 一篇文章带你用jquery mobile设计颜色拾取器
-
【一、项目背景】现实生活中,我们经常会遇到配色的问题,这个时候去百度一下RGB表。而RGB表只提供相对于的颜色的RGB值而没有可以验证的模块。我们可以通过jquerymobile去设计颜色的拾取器...
- 编程技巧:Jquery实时验证,指定长度的「正小数」
-
为了保障【正小数】的正确性,做成了通过Jquery,在用户端,实时验证指定长度的【正小数】的方法。HTML做成方法<inputtype="text"class="fo...
- jquery.validate检查数组全部验证
-
问题:html中有多个name[],每个参数都要进行验证是否为空,这个时候直接用required:true话,不能全部验证,只要这个数组中有一个有值就可以通过的。解决方法使用addmethod...
- Vue进阶(幺叁肆):npm查看包版本信息
-
第一种方式npmviewjqueryversions这种方式可以查看npm服务器上所有的...
- layui中使用lay-verify进行条件校验
-
一、layui的校验很简单,主要有以下步骤:1.在form表单内加上class="layui-form"2.在提交按钮上加上lay-submit3.在想要校验的标签,加上lay-...
- jQuery是什么?如何使用? jquery是什么功能组件
-
jQuery于2006年1月由JohnResig在BarCampNYC首次发布。它目前由TimmyWilson领导,并由一组开发人员维护。jQuery是一个JavaScript库,它简化了客户...
- django框架的表单form的理解和用法-9
-
表单呈现...
- jquery对上传文件的检测判断 jquery实现文件上传
-
总体思路:在前端使用jquery对上传文件做部分初步的判断,验证通过的文件利用ajaxFileUpload上传到服务器端,并将文件的存储路径保存到数据库。<asp:FileUploadI...
- Nodejs之MEAN栈开发(四)-- form验证及图片上传
-
这一节增加推荐图书的提交和删除功能,来学习node的form提交以及node的图片上传功能。开始之前需要源码同学可以先在git上fork:https://github.com/stoneniqiu/R...
- 大数据开发基础之JAVA jquery 大数据java实战
-
上一篇我们讲解了JAVAscript的基础知识、特点及基本语法以及组成及基本用途,本期就给大家带来了JAVAweb的第二个知识点jquery,大数据开发基础之JAVAjquery,这是本篇文章的主要...
- 推荐四个开源的jQuery可视化表单设计器
-
jquery开源在线表单拖拉设计器formBuilder(推荐)jQueryformBuilder是一个开源的WEB在线html表单设计器,开发人员可以通过拖拉实现一个可视化的表单。支持表单常用控件...
你 发表评论:
欢迎- 一周热门
- 最近发表
- 标签列表
-
- mybatis plus (70)
- scheduledtask (71)
- css滚动条 (60)
- java学生成绩管理系统 (59)
- 结构体数组 (69)
- databasemetadata (64)
- javastatic (68)
- jsp实用教程 (53)
- fontawesome (57)
- widget开发 (57)
- vb net教程 (62)
- hibernate 教程 (63)
- case语句 (57)
- svn连接 (74)
- directoryindex (69)
- session timeout (58)
- textbox换行 (67)
- extension_dir (64)
- linearlayout (58)
- vba高级教程 (75)
- iframe用法 (58)
- sqlparameter (59)
- trim函数 (59)
- flex布局 (63)
- contextloaderlistener (56)