IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> PHP知识库 -> windows下php环境搭建 -> 正文阅读

[PHP知识库]windows下php环境搭建


本文所使用的服务器为Apache

1 配置Apache服务器

1.1 下载Apache服务器

打开Apache官网,依次按如图所示点击:
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

下载完之后解压到任意目录即可:

C:\wsr\Apache\Apache24\
├──bin
│  └──iconv
├──cgi-bin
├──conf
│  ├──extra
│  ├──original
│  │  └──extra
│  └──ssl
├──error
│  └──include
├──htdocs
├──icons
│  └──small
├──include
├──lib
├──logs
└──modules

1.2 修改配置文件httpd.conf

打开配置文件C:\wsr\Apache\Apache24\conf\httpd.conf,修改以下三处:

1、 SRVROOT。将SRVROOT的值改为解压后的文件夹路径。

# least PidFile.
#

Define SRVROOT "c:/wsr/Apache/Apache24"
ServerRoot "${SRVROOT}"

#
# Uncomment below line to enable TLS/1.3 in server.
# (Requires OpenSSL 1.1.1 and up)

2、端口号。为避免端口号冲突可以将端口号修改为其它值(也可不修改)。我将默认端口8080修改为了8081

#Listen 12.34.56.78:80
Listen 8081

3、ServerName。ServerName中的端口号也修改为Listen对应的值。

# If your host doesn't have a registered DNS name, enter its IP address here.
#
ServerName localhost:8081

1.3 安装Apache服务

经过以上两步,其实已经算是配置好了。不过每次需要使用Apache服务器的时候都要进入到其bin目录,手动执行命令开启Apache服务。

更简单的方法是安装Apache服务,让其一直运行。首先进入Apache的bin目录C:\wsr\Apache\Apache24\bin,以管理员身份运行powershell,执行下述命令。

1、安装Apache服务。

PS C:\wsr\Apache\Apache24\bin> .\httpd.exe -k install
Installing the 'Apache2.4' service
The 'Apache2.4' service is successfully installed.
Testing httpd.conf....
Errors reported here must be corrected before the service can be started.

2、服务安装后为关闭状态。所以需要开启Apache服务。

PS C:\wsr\Apache\Apache24\bin> .\httpd.exe -k start

3、验证Apache服务器是否运行,在浏览器地址栏访问http://localhost:8081/
在这里插入图片描述
出现如图所示界面说明Apache服务器配置成功。

服务器的更多命令请执行下述命令查看(执行命令时记得进入bin目录,且要以管理员身份执行):

PS C:\wsr\Apache\Apache24\bin> .\httpd.exe -h
Usage: C:\\wsr\\Apache\\Apache24\\bin\\httpd.exe [-D name] [-d directory] [-f file]
                                            [-w] [-k start|restart|stop|shutdown] [-n service_name]
                                            [-k install|config|uninstall] [-n service_name]
Options:
  -D name            : define a name for use in <IfDefine name> directives
  -d directory       : specify an alternate initial ServerRoot
  -f file            : specify an alternate ServerConfigFile
  -C "directive"     : process directive before reading config files
  -k start           : tell Apache to start
  -k restart         : tell running Apache to do a graceful restart
  -k stop|shutdown   : tell running Apache to shutdown
  -k install         : install an Apache service
  -k config          : change startup Options of an Apache service
  -k uninstall       : uninstall an Apache service
  -w                 : hold open the console window on error
  -e level           : show startup errors of level (see LogLevel)
  -E file            : log startup errors to file
  -v                 : show version number
  -V                 : show compile settings
  -h                 : list available command line options (this page)
  -l                 : list compiled in modules
  -L                 : list available configuration directives
  -t -D DUMP_VHOSTS  : show parsed vhost settings
  -t -D DUMP_RUN_CFG : show parsed run settings
  -S                 : a synonym for -t -D DUMP_VHOSTS -D DUMP_RUN_CFG
  -t -D DUMP_MODULES : show all loaded modules
  -M                 : a synonym for -t -D DUMP_MODULES
  -t -D DUMP_INCLUDES: show all included configuration files
  -t                 : run syntax check for config files
  -T                 : start without DocumentRoot(s) check
  -X                 : debug mode (only one worker, do not detach)

2 配置php

2.1 下载php

打开php官网,按如图所示选择版本下载。我下载的是php 8.0.9
在这里插入图片描述
下载之后解压到任意文件夹:

C:\wsr\php\
├──dev
├──ext
├──extras
│  └──ssl
└──lib
   └──enchant

2.2 修改配置文件php.ini

php.ini-developmentphp.ini-production复制一份,将文件名修改为php.ini

PS C:\wsr\php> ls .\php.ini*


    目录: C:\wsr\php


Mode                 LastWriteTime         Length Name
----                 -------------         ------ ----
-a----         2021/7/30     16:55          74559 php.ini
-a----         2021/7/29     22:42          74326 php.ini-development
-a----         2021/7/29     22:42          74474 php.ini-production

打开C:\wsr\php\php.ini,修改以下四处:

1、设置扩展文件路径。将extension_dir的值改为php解压后的路径值。

; On windows:
;extension_dir = "ext"
extension_dir = "c:/wsr/php/ext"

2、设置要加载的扩展文件。以分号开头的为注释,可以去掉注释设置一些需要加载的文件。这些文件都在目录extension_dir = "c:/wsr/php/ext"中。下面将此目录下的扩展全部添加进去。

PS C:\wsr\php> ls .\ext\ |select Name

Name
----
php_bz2.dll
php_com_dotnet.dll
php_curl.dll
php_dba.dll
php_enchant.dll
php_exif.dll
php_ffi.dll
php_fileinfo.dll
php_ftp.dll
php_gd.dll
php_gettext.dll
php_gmp.dll
php_imap.dll
php_intl.dll
php_ldap.dll
php_mbstring.dll
php_mysqli.dll
php_oci8_19.dll
php_odbc.dll
php_opcache.dll
php_openssl.dll
php_pdo_firebird.dll
php_pdo_mysql.dll
php_pdo_oci.dll
php_pdo_odbc.dll
php_pdo_pgsql.dll
php_pdo_sqlite.dll
php_pgsql.dll
php_phpdbg_webhelper.dll
php_shmop.dll
php_snmp.dll
php_soap.dll
php_sockets.dll
php_sodium.dll
php_sqlite3.dll
php_sysvshm.dll
php_tidy.dll
php_xsl.dll
php_zend_test.dll

; - Many DLL files are located in the extensions/ (PHP 4) or ext/ (PHP 5+)
;   extension folders as well as the separate PECL DLL download (PHP 5+).
;   Be sure to appropriately set the extension_dir directive.
;
;extension=bz2
;extension=curl
;extension=ffi
;extension=ftp
;extension=fileinfo
;extension=gd
;extension=gettext
;extension=gmp
;extension=intl
;extension=imap
;extension=ldap
;extension=mbstring
;extension=exif      ; Must be after mbstring as it depends on it
;extension=mysqli
;extension=oci8_12c  ; Use with Oracle Database 12c Instant Client
;extension=oci8_19  ; Use with Oracle Database 19 Instant Client
;extension=odbc
;extension=openssl
;extension=pdo_firebird
;extension=pdo_mysql
;extension=pdo_oci
;extension=pdo_odbc
;extension=pdo_pgsql
;extension=pdo_sqlite
;extension=pgsql
;extension=shmop

; The MIBS data available in the PHP distribution must be installed.
; See http://www.php.net/manual/en/snmp.installation.php
;extension=snmp

;extension=soap
;extension=sockets
;extension=sodium
;extension=sqlite3
;extension=tidy
;extension=xsl

;zend_extension=opcache

extension=php_bz2.dll
extension=php_com_dotnet.dll
extension=php_curl.dll
extension=php_dba.dll
extension=php_enchant.dll
extension=php_exif.dll
extension=php_ffi.dll
extension=php_fileinfo.dll
extension=php_ftp.dll
extension=php_gd.dll
extension=php_gettext.dll
extension=php_gmp.dll
extension=php_imap.dll
extension=php_intl.dll
extension=php_ldap.dll
extension=php_mbstring.dll
extension=php_mysqli.dll
extension=php_oci8_19.dll
extension=php_odbc.dll
extension=php_opcache.dll
extension=php_openssl.dll
extension=php_pdo_firebird.dll
extension=php_pdo_mysql.dll
extension=php_pdo_oci.dll
extension=php_pdo_odbc.dll
extension=php_pdo_pgsql.dll
extension=php_pdo_sqlite.dll
extension=php_pgsql.dll
extension=php_phpdbg_webhelper.dll
extension=php_shmop.dll
extension=php_snmp.dll
extension=php_soap.dll
extension=php_sockets.dll
extension=php_sodium.dll
extension=php_sqlite3.dll
extension=php_sysvshm.dll
extension=php_tidy.dll
extension=php_xsl.dll
extension=php_zend_test.dll
;;;;;;;;;;;;;;;;;;;
; Module Settings ;
;;;;;;;;;;;;;;;;;;;

3、设置时区。

[Date]
; Defines the default timezone used by the date functions
; http://php.net/date.timezone
;date.timezone =
date.timezone = Asia/Shanghai

4、设置openssl。

[openssl]
; The location of a Certificate Authority (CA) file on the local filesystem
; to use when verifying the identity of SSL/TLS peers. Most users should
; not specify a value for this directive as PHP will attempt to use the
; OS-managed cert stores in its absence. If specified, this value may still
; be overridden on a per-stream basis via the "cafile" SSL stream context
; option.
;openssl.cafile=
openssl.cafile=cacert.pem

2.3 再次修改配置文件httpd.conf

打开配置文件C:\wsr\Apache\Apache24\conf\httpd.conf,修改以下三处:

1、设置默认索引。按如下所示修改DirectoryIndex的值。

#
# DirectoryIndex: sets the file that Apache will serve if a directory
# is requested.
#
<IfModule dir_module>
    # DirectoryIndex index.html
    DirectoryIndex index.html index.htm index.php
</IfModule>

2、开启 rewrite 功能。将下面第2行的注释去掉即可。

#LoadModule reqtimeout_module modules/mod_reqtimeout.so
LoadModule rewrite_module modules/mod_rewrite.so
#LoadModule sed_module modules/mod_sed.so

3、在文件末尾添加如下设置。

PS C:\wsr\php> ls php*.dll


    目录: C:\wsr\php


Mode                 LastWriteTime         Length Name
----                 -------------         ------ ----
-a----         2021/7/29     22:42          35840 php8apache2_4.dll
-a----         2021/7/29     22:42         339968 php8phpdbg.dll
-a----         2021/7/29     22:42        9449472 php8ts.dll

#php8
LoadModule php_module "c:/wsr/php/php8apache2_4.dll"
PHPIniDir "c:/wsr/php"
AddType application/x-httpd-php .php .html
  • 若使用php 5,则使用LoadModule php5_module xxx
  • 若使用php 7,则使用LoadModule php7_module xxx
  • 若使用php 8,则使用LoadModule php_module xxx

我使用的为php8,所以用的是php_module。上面的三个配置中,前两个根据自己解压文件的路径设置其对应的值,第三个直接照抄。

2.4 验证

2.4.1 重启Apache服务

1、方法一

按快捷键win+r,输入services.msc,找到Apache服务,按如图方式重启:
在这里插入图片描述

2、方法二

管理员身份运行powershell,进入Apache的bin目录C:\wsr\Apache\Apache24\bin,执行下述命令:

PS C:\wsr\Apache\Apache24\bin> .\httpd.exe -k restart

3、方法三

管理员身份运行powershell,执行下述命令:

PS C:\wsr\Apache\Apache24\bin> Start-Service -Name Apache2.4
PS C:\wsr\Apache\Apache24\bin> Get-Service -Name Apache2.4

Status   Name               DisplayName
------   ----               -----------
Running  Apache2.4          Apache2.4

2.4.2 验证效果

C:\wsr\Apache\Apache24\htdocs\目录下分别新建index.phpdir1\test.html

C:\wsr\Apache\Apache24\htdocs\
├──dir1
│  └──test.html
├──index.html
└──index.php

其内容分别如下所示:

PS C:\wsr\Apache\Apache24\htdocs> cat .\index.php
<?php phpinfo(); ?>
PS C:\wsr\Apache\Apache24\htdocs> cat .\dir1\test.html
<!DOCTYPE html>
<html>
<body>

<?php
ECHO "Hello World!<br>";
echo "Hello World!<br>";
EcHo "Hello World!<br>";
?>

</body>
</html>

在浏览器地址栏分别访问http://localhost:8081/index.phphttp://localhost:8081/dir1/test.html,可以看到如下的效果:
在这里插入图片描述
在这里插入图片描述

2.4.3 说明

其中,目录C:\wsr\Apache\Apache24\htdocs为部署项目的目录,如果不想使用默认值,可以修改配置文件C:\wsr\Apache\Apache24\conf\httpd.conf,将DocumnetRoot的值修改为其它的:

#
# DocumentRoot: The directory out of which you will serve your
# documents. By default, all requests are taken from this directory, but
# symbolic links and aliases may be used to point to other locations.
#
# DocumentRoot "${SRVROOT}/htdocs"
DocumentRoot "c:/Users/fy/Desktop/project"
# <Directory "${SRVROOT}/htdocs">
<Directory "c:/Users/fy/Desktop/project">

    #
    # Possible values for the Options directive are "None", "All",
    # or any combination of:
    #   Indexes Includes FollowSymLinks SymLinksifOwnerMatch ExecCGI MultiViews

每次修改配置文件后都需要重启Apache服务,否则修改不生效。至此,所有配置结束。

  PHP知识库 最新文章
Laravel 下实现 Google 2fa 验证
UUCTF WP
DASCTF10月 web
XAMPP任意命令执行提升权限漏洞(CVE-2020-
[GYCTF2020]Easyphp
iwebsec靶场 代码执行关卡通关笔记
多个线程同步执行,多个线程依次执行,多个
php 没事记录下常用方法 (TP5.1)
php之jwt
2021-09-18
上一篇文章      下一篇文章      查看所有文章
加:2021-08-01 14:18:04  更:2021-08-01 14:18:45 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年5日历 -2024/5/5 2:54:26-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码