百度360必应搜狗淘宝本站头条
当前位置:网站首页 > 编程网 > 正文

新人学PHP,认为手动搭建环境而苦恼吗?这篇文章告诉你多简单

yuyutoo 2024-10-17 16:59 39 浏览 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环境的新童鞋,不喜勿喷,谢谢!

本教程到此结束。

相关推荐

.NET 奇葩问题调试经历之3——使用了grpc通讯类库后,内存一直增长......

...

全局和隐式 using 指令详解(全局命令)

1.什么是全局和隐式using?在.NET6及更高版本中,Microsoft引入了...

请停止微服务,做好单体的模块化才是王道:Spring Modulith介绍

1、介绍模块化单体是一种架构风格,代码是根据模块的概念构成的。对于许多组织而言,模块化单体可能是一个很好的选择。它有助于保持一定程度的独立性,这有助于我们在需要的时候轻松过渡到微服务架构。Spri...

ASP.NET程序集引用之痛:版本冲突、依赖地狱等解析与实战

我是一位多年后端经验的工程师,其中前几年用ASP.NET...

.NET AOT 详解(.net 6 aot)

简介AOT(Ahead-Of-TimeCompilation)是一种将代码直接编译为机器码的技术,与传统的...

一款基于Yii2开发的免费商城系统(一款基于yii2开发的免费商城系统是什么)

哈喽,我是老鱼,一名致力于在技术道路上的终身学习者、实践者、分享者!...

asar归档解包(游戏arc文件解包)

要学习Electron逆向,首先要有一个Electron开发的程序的发布的包,这里就以其官方的electron-quick-start作为例子来进行一下逆向的过程。...

在PyCharm 中免费集成Amazon CodeWhisperer

CodeWhisperer是Amazon发布的一款免费的AI编程辅助小工具,可在你的集成开发环境(IDE)中生成实时单行或全函数代码建议,帮助你快速构建软件。简单来说,AmazonCodeWhi...

2014年最优秀JavaScript编辑器大盘点

1.WebstormWebStorm是一种轻量级的、功能强大的IDE,为Node.js复杂的客户端开发和服务器端开发提供完美的解决方案。WebStorm的智能代码编辑器支持JavaScript,...

基于springboot、tio、oauth2.0前端vuede 超轻量级聊天软件分享

项目简介:基于JS的超轻量级聊天软件。前端:vue、iview、electron实现的PC桌面版聊天程序,主要适用于私有云项目内部聊天,企业内部管理通讯等功能,主要通讯协议websocket。支持...

JetBrains Toolbox推出全新产品订阅授权模式

捷克知名软件开发公司JetBrains最为人所熟知的产品是Java编程语言开发撰写时所用的集成开发环境IntelliJIDEA,相信很多开发者都有所了解。而近期自2015年11月2日起,JetBr...

idea最新激活jetbrains-agent.jar包,亲测有效

这里分享一个2019.3.3版本的jetbrains-agent.jar,亲测有效,在网上找了很多都不能使用,终于找到一个可以使用的了,这里分享一下具体激活步骤,此方法适用于Jebrains家所有产品...

CountDownTimer的理解(countdowntomars)

CountDownTimer是android开发常用的计时类,按照注释中的说明使用方法如下:kotlin:object:CountDownTimer(30000,1000){...

反射为什么性能会很慢?(反射时为什么会越来越长)

1.背景前段时间维护一个5、6年前的项目,项目总是在某些功能使用上不尽人意,性能上总是差一些,仔细过了一下代码发现使用了不少封装好的工具类,工具类里面用了好多的反射,反射会影响到执行效率吗?盲猜了一...

btrace 开源!基于 Systrace 高性能 Trace 工具

介绍btrace(又名RheaTrace)是抖音基础技术团队自研的一款高性能AndroidTrace工具,它基于Systrace实现,并针对Systrace不足之处加以改进,核心改进...

取消回复欢迎 发表评论: