新人学PHP,认为手动搭建环境而苦恼吗?这篇文章告诉你多简单
yuyutoo 2024-10-17 16:59 25 浏览 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环境的新童鞋,不喜勿喷,谢谢!
本教程到此结束。
相关推荐
- 几个经典的linux c多线程面试题解析
-
一、线程与进程的区别?1、线程是进程的一部分,所以线程有的时候被称为是轻权进程或者轻量级进程。2、一个没有线程的进程是可以被看作单线程的,如果一个进程内拥有多个进程,进程的执行过程不是一条线(线程...
- C语言中的信号处理和多线程编程(c语言中的信号处理和多线程编程一样吗)
-
信号处理和多线程编程是C语言中常用的两个特性,它们为开发人员提供了一种灵活和高效的方式来处理异步事件和并发任务。signal.h和threads.h是两个常用的头文件,它们提供了一些函数和数据结构,用...
- C++ 多线程(C++ 多线程面试题)
-
多线程是多任务处理的一种特殊形式,多任务处理允许让电脑同时运行两个或两个以上的程序。一般情况下,两种类型的多任务处理:基于进程和基于线程。基于进程的多任务处理是程序的并发执行。基于线程的多任务处理是同...
- C#多线程下的调优(c# 多线程 ui)
-
目录一、原子操作1.基于Lock实现2.基于CAS实现3.自旋锁SpinLock4.读写锁ReaderWriterLockSlim...
- 5分钟学会C/C++多线程编程进程和线程
-
前言对线程有基本的理解简单的C++面向过程编程能力创造单个简单的线程。创造单个带参数的线程。如何等待线程结束。创造多个线程,并使用互斥量来防止资源抢占。会使用之后,直接跳到“汇总”,复制模板来用就行...
- c语言的多线程编程(c语言的多线程编程是什么)
-
我们进行嵌入式开发时通常遇到需要对多个任务处理,有的可以使用单片机的中断,同时也可以利用多线程进行任务处理。c语言里的多线程的编写需要引入pthread.h这个头文件,我是在Linux下进行的编写首先...
- 每个程序员应该彻底掌握的多线程编程(Linux C)
-
多线程编程可以说每个程序员的基本功,同时也是开发中的难点之一,本文以LinuxC为例,讲述了线程的创建及常用的几种线程同步的方式,最后对多线程编程进行了总结与思考并给出代码示例。一、创建线程多线程编...
- 浅谈Kafka2.8+在Windows下的搭建与使用
-
前言:周末空闲时间无意找到了一套个性化推荐的源码,整体项目运用了SSH,HDFS,Flume,Hive,Kafka,Spark,Scala等。运行时,本来通过spark计算业务埋点数据时,却发现本地没...
- Zend Studio使用教程:将Zend Studio作为插件安装
-
ZendStudio是新一代的专业级智能PHPIDE,它旨在帮助开发人员提高工作效率,创造出高品质的PHP应用程序!它包含了PHP开发所必须的部件,通过一整套的编辑、调试、分析、优化和数据库工具,...
- 10款Web程序员必备的CSS工具(web开发css)
-
对于web开发来说,CSS是最有效的美化页面、设置页面布局的技术。但问题是,CSS是一种标记性语言,语法结构非常的松散、不严谨。WEB程序员会经常发现自己的或别人的CSS文件里有大量的冗余代码或错误或...
- C/C++开发者必备:十款免费集成开发环境IDE
-
集成开发环境(IDE,IntegratedDevelopmentEnvironment)主要用于提供应用程序开发的环境,通常包括编辑器、编译器、调试器等。IDE的种类很多,有的只支持一种特定的编程...
- 推荐给系统管理员的10款Linux GUI工具
-
ZD至顶网CIO与应用频道12月18日专栏:如果你是系统管理员,现在到了一个必须掌握Linux的时候,特别是当你工作在一个更大规模环境下。很多机构已经从Windows迁移出来,在Windows环境...
- 盘点Linux平台下的十佳IDE(linux 软件推荐)
-
Linux是一款在全球范围内应用于许多台式机的开源操作系统,同时它还是一个基于POSIX和UNIX的多用户、多任务、支持多线程和多CPU的操作系统。它能运行主要的UNIX工具软件、应用程序和网络协议,...
- 新闻发布系统(源代码)(新闻发布系统详细设计)
-
昨天我说要把这俩系统整合一下!!!结果可以说成功了,也可以说是失败了。虽然两个融合在了一起,但只限在本地访问,连同一局域网都不行。因为两个系统是通过绝对地址相互链接的,所以我用的是localhost(...
- SpiderFlow - 一个无需写代码的爬虫平台
-
网络爬虫,是互联网数据抓取的主要方式之一,许多人都会有类似的需求。然而,网络爬虫的编写,通常需要掌握一定的代码编写能力,乃至于比较复杂的项目组织构建能力,有一定的技术门槛。SpiderFlow,通过可...
你 发表评论:
欢迎- 一周热门
-
-
前端面试:iframe 的优缺点? iframe有那些缺点
-
带斜线的表头制作好了,如何填充内容?这几种方法你更喜欢哪个?
-
漫学笔记之PHP.ini常用的配置信息
-
其实模版网站在开发工作中很重要,推荐几个参考站给大家
-
推荐7个模板代码和其他游戏源码下载的网址
-
[干货] JAVA - JVM - 2 内存两分 [干货]+java+-+jvm+-+2+内存两分吗
-
正在学习使用python搭建自动化测试框架?这个系统包你可能会用到
-
织梦(Dedecms)建站教程 织梦建站详细步骤
-
【开源分享】2024PHP在线客服系统源码(搭建教程+终身使用)
-
2024PHP在线客服系统源码+完全开源 带详细搭建教程
-
- 最近发表
- 标签列表
-
- 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)